资源简介
该实验分为两个部分:编写程序能同时实现对多个域名的解析和编写程序获取并输出本地主机的所有适配器的 IP 地址,子网掩码,默认网关,MAC 地址。
代码片段和文件信息
// GetIPConfig.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#pragma comment(lib “IPHLPAPI.lib“)
#include
#include
#include
int _tmain(int argc _TCHAR* argv[])
{
// 指定获取到的网络信息结构体链表的指针
IP_ADAPTER_INFO *pAdapterInfo;
// 保存获取到的网络信息结构体链表的长度
ULONG ulOutBufLen;
// 返回调用编码
DWORD dwRetVal;
// 在轮循所有网络适配器信息时使用的单个结构体变量
PIP_ADAPTER_INFO pAdapter;
// 为pAdapterInfo分配空间
pAdapterInfo = (IP_ADAPTER_INFO *)
malloc(sizeof(IP_ADAPTER_INFO));
ulOutBufLen = sizeof(IP_ADAPTER_INFO);
// 第1次调用GetAdaptersInfo(),获取返回结果的大小到ulOutBufLen中
int err = GetAdaptersInfo(pAdapterInfo
&ulOutBufLen);
if (err != ERROR_SUCCESS)
{
printf(“error one\n“);
free(pAdapterInfo);
pAdapterInfo = (IP_ADAPTER_INFO *)
malloc(ulOutBufLen);
}
// 第2次调用GetAdaptersInfo(),获取本地网络信息到结构体pAdapterInfo中
if ((dwRetVal = GetAdaptersInfo(pAdapterInfo &ulOutBufLen)) != ERROR_SUCCESS)
{
printf(“GetAdaptersInfo Error! %d\n“ dwRetVal);
}
// 从pAdapterInfo 获取并显示本地网络信息
pAdapter = pAdapterInfo;
while (pAdapter)
{
printf(“网络适配器名: \t\t%s\n“
pAdapter->AdapterName);
printf(“网络适配器描述: \t%s\n\n“
pAdapter->Description);
printf(“MAC地址: \t\t“);
for (int i = 0; i<(int)pAdapter->AddressLength; i++)
{
if (i == (int)(pAdapter->AddressLength - 1))
printf(“%.2X\n“ (int)pAdapter->Address[i]);
else
printf(“%.2X-“ (int)pAdapter->Address[i]);
}
printf(“IP地址: \t\t%s\n“
pAdapter->IpAddressList.IpAddress.String);
printf(“子网掩码: \t\t%s\n“
pAdapter->IpAddressList.IpMask.String);
printf(“网关: \t\t\t%s\n“
pAdapter->GatewayList.IpAddress.String);
printf(“********************************************************************\n“);
if (pAdapter->DhcpEnabled)
{
printf(“启用DHCP: \t\t是\n“);
printf(“DHCP服务器: \t\t%s\n“ pAdapter->DhcpServer.IpAddress.String);
}
else
{
printf(“启用DHCP: \t\t否\n“);
}
// 处理下一个网络适配器
pAdapter = pAdapter->Next;
}
// 释放资源
if (pAdapterInfo)
free(pAdapterInfo);
printf(“\n\n“);
system(“pause“);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2285 2017-03-31 12:31 WinSockTest01\GetIPConfig\GetIPConfig\GetIPConfig.cpp
文件 4541 2017-03-31 12:30 WinSockTest01\GetIPConfig\GetIPConfig\GetIPConfig.vcxproj
文件 1318 2017-03-31 12:30 WinSockTest01\GetIPConfig\GetIPConfig\GetIPConfig.vcxproj.filters
文件 1538 2017-03-31 12:30 WinSockTest01\GetIPConfig\GetIPConfig\ReadMe.txt
文件 217 2017-03-31 12:30 WinSockTest01\GetIPConfig\GetIPConfig\stdafx.cpp
文件 234 2017-03-31 12:30 WinSockTest01\GetIPConfig\GetIPConfig\stdafx.h
文件 236 2017-03-31 12:30 WinSockTest01\GetIPConfig\GetIPConfig\targetver.h
文件 979 2017-03-31 12:30 WinSockTest01\GetIPConfig\GetIPConfig.sln
文件 1601 2017-03-20 18:53 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname\ReadMe.txt
文件 226 2017-03-20 18:53 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname\stdafx.cpp
文件 234 2017-03-20 18:53 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname\stdafx.h
文件 236 2017-03-20 18:53 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname\targetver.h
文件 1507 2017-03-20 19:00 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname\WinSockGethostbyname.cpp
文件 4591 2017-05-18 20:59 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname\WinSockGethostbyname.vcxproj
文件 1327 2017-03-20 18:53 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname\WinSockGethostbyname.vcxproj.filters
文件 1006 2017-03-20 18:53 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname.sln
文件 1552 2017-03-20 18:07 WinSockTest01\WinSockTest01\WinSockTest01\ReadMe.txt
文件 219 2017-03-20 18:07 WinSockTest01\WinSockTest01\WinSockTest01\stdafx.cpp
文件 234 2017-03-20 18:07 WinSockTest01\WinSockTest01\WinSockTest01\stdafx.h
文件 236 2017-03-20 18:07 WinSockTest01\WinSockTest01\WinSockTest01\targetver.h
文件 1453 2017-03-31 13:13 WinSockTest01\WinSockTest01\WinSockTest01\WinSockTest01.cpp
文件 4601 2017-03-20 19:03 WinSockTest01\WinSockTest01\WinSockTest01\WinSockTest01.vcxproj
文件 1320 2017-03-20 18:07 WinSockTest01\WinSockTest01\WinSockTest01\WinSockTest01.vcxproj.filters
文件 985 2017-03-20 18:07 WinSockTest01\WinSockTest01\WinSockTest01.sln
目录 0 2017-05-18 21:00 WinSockTest01\GetIPConfig\GetIPConfig
目录 0 2017-05-18 20:59 WinSockTest01\WinSockGethostbyname\WinSockGethostbyname
目录 0 2017-05-18 21:00 WinSockTest01\WinSockTest01\WinSockTest01
目录 0 2017-06-17 22:46 WinSockTest01\GetIPConfig
目录 0 2017-06-17 22:46 WinSockTest01\WinSockGethostbyname
目录 0 2017-06-17 22:46 WinSockTest01\WinSockTest01
............此处省略4个文件信息
- 上一篇:基于FreeRTOS的FreeModbus移植
- 下一篇:UDP 通信实验
评论
共有 条评论