資源簡介
該實驗分為兩個部分:編寫程序能同時實現對多個域名的解析和編寫程序獲取并輸出本地主機的所有適配器的 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 通信實驗
評論
共有 條評論