




已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
網(wǎng) 絡(luò) 程 序 設(shè) 計(jì)實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)名稱:Winsock編程接口實(shí)驗(yàn) 實(shí)驗(yàn)類型: 驗(yàn) 證 型 一、實(shí)驗(yàn)?zāi)康膌 掌握Winsock的啟動(dòng)和初始化;l 掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查詢函數(shù)的使用。二、實(shí)驗(yàn)設(shè)計(jì)實(shí)驗(yàn)內(nèi)容:1、編寫(xiě)程序能同時(shí)實(shí)現(xiàn)對(duì)多個(gè)域名的解析。比如在控制臺(tái)輸入:getip , 能輸出和 對(duì)應(yīng)的IP地址列表。2、編寫(xiě)程序獲取并輸出本地主機(jī)的所有適配器的IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān),MAC地址。根據(jù)實(shí)驗(yàn)內(nèi)容編寫(xiě)程序: 1、對(duì)相關(guān)域名進(jìn)行解析,利用gethostbyname()完成解析,用到的結(jié)構(gòu)體為: struct hostentchar FAR*h_name;char FAR* FAR*h_aliases;short h_addrtype;short h_length;char FAR* FAR*h_addr_list; 得到的IP地址列表由h_addr_list存儲(chǔ); 2、利用GetAdaptersInfo()函數(shù)獲得本地主機(jī)的相關(guān)信息,通過(guò)IP_ADAPTER_INFO結(jié)構(gòu)體返回所需信息。IP_ADAPTER_INFO的定義如下:typedef struct _IP_ADAPTER_INFO struct _IP_ADAPTER_INFO* Next; DWORD ComboIndex; char AdapterNameMAX_ADAPTER_NAME_LENGTH + 4; char DescriptionMAX_ADAPTER_DESCRIPTION_LENGTH + 4; UINT AddressLength; BYTE AddressMAX_ADAPTER_ADDRESS_LENGTH; DWORD Index; UINT Type; UINT DhcpEnabled; PIP_ADDR_STRING CurrentIpAddress; IP_ADDR_STRING IpAddressList; IP_ADDR_STRING GatewayList; IP_ADDR_STRING DhcpServer; BOOL HaveWins; IP_ADDR_STRING PrimaryWinsServer; IP_ADDR_STRING SecondaryWinsServer; time_t LeaseObtained; time_t LeaseExpires; IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;三、實(shí)驗(yàn)過(guò)程(包含實(shí)驗(yàn)結(jié)果)1、分析題目,編寫(xiě)程序;2、將編寫(xiě)的程序進(jìn)行編譯、運(yùn)行,輸入題目給定的內(nèi)容,完成題目要求;結(jié)果如下: 第1題: 第2題: 四、討論與分析 思考題: 1、Winsock初始化的作用:只有調(diào)用了WSAStartup()進(jìn)行初始化之后,應(yīng)用程序才能調(diào)用其他Windows Sockets API函數(shù),實(shí)現(xiàn)網(wǎng)絡(luò)通信; 2、函數(shù)原型為:DWORD GetAdaptersInfo( PIP_ADAPTER_INFO pAdapterInfo, /接受數(shù)據(jù)的緩沖區(qū) PULONG pOutBufLen / 數(shù)據(jù)的長(zhǎng)度大小); 3、域名解析時(shí)出現(xiàn)域名對(duì)應(yīng)多個(gè)IP,原因:該域名存在于多個(gè)服務(wù)器。 五、實(shí)驗(yàn)者自評(píng) 通過(guò)本次實(shí)驗(yàn),我掌握了Winsock的啟動(dòng)和初始化以及gethostname(),gethostbyname(),GetAdaptersInfo()等函數(shù)查詢的使用,加深了以前對(duì)課本知識(shí)的認(rèn)識(shí)程度。6、 附錄:關(guān)鍵代碼(給出適當(dāng)注釋,可讀性高) 第1題代碼: / GetAllIps.cpp文件/#include ./common/InitSock.h#include #include #include using namespace std;#pragma comment(lib, WS2_32)/ 鏈接到WS2_32.lib/CInitSock initSock;/ 初始化Winsock庫(kù)void main()char szMessage256; / 取得本地主機(jī)名稱/ 初始化WSADATA wsaData;if(WSAStartup(MAKEWORD(2,2), &wsaData) != 0) exit(0);/ 通過(guò)主機(jī)名得到地址信息printf( Get IP::);gets(szMessage);/ 獲取主機(jī)信息hostent *pHost = :gethostbyname(szMessage);/ 打印出所有IP地址in_addr addr;for(int i = 0; ; i+)char *p = pHost-h_addr_listi;if(p = NULL)break;memcpy(&addr.S_un.S_addr, p, pHost-h_length);char *szIp = :inet_ntoa(addr);printf( 服務(wù)器 %s IP地址:%s n ,szMessage, szIp);printf(服務(wù)器名字: %s n,pHost-h_name );/:WSACleanup();第2題代碼:/ 獲取并輸出本地主機(jī)的所有適配器的IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān),MAC地址#include #include using namespace std;#include #pragma comment(lib, IPHLPAPI.lib)void main()/ 定義變量IP_ADAPTER_INFO *pAdapterInfo;ULONG ulOutBufLen;DWORD dwRetVal;PIP_ADAPTER_INFO pAdapter;pAdapterInfo = (IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO);ulOutBufLen = sizeof(IP_ADAPTER_INFO);/ 第一次獲取適配器信息,得到ulOutBufLen的實(shí)際大小if(GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) != ERROR_SUCCESS)free(pAdapterInfo);pAdapterInfo = (IP_ADAPTER_INFO *)malloc(ulOutBufLen);/ 第二次獲取適配器信息,獲得了pAdapterInfo信息if(dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) != ERROR_SUCCESS)coutGetAdapterInfo Error!dwRetValendl;/ 打印MAC地址信息、子網(wǎng)掩碼以及網(wǎng)關(guān)pAdapter = pAdapterInfo;while(pAdapter)coutMAC Address: ;for(int i=0; iAddressLength; i+)if(i = (pAdapter-AddressLength - 1)couthexAddressi;elsecouthexAddressi-;coutendl;coutIP 地址:IpAddressList.IpAddress.Stringend
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校生量化管理制度
- 學(xué)校誠(chéng)信社管理制度
- 安全充電樁管理制度
- 安全預(yù)評(píng)價(jià)管理制度
- 實(shí)訓(xùn)室技術(shù)管理制度
- 審計(jì)局票據(jù)管理制度
- 客運(yùn)站公司管理制度
- 家具廠衛(wèi)生管理制度
- 應(yīng)急安全與管理制度
- 錄播室安全管理制度
- 起重設(shè)備維護(hù)保養(yǎng)記錄(完整版)
- 網(wǎng)絡(luò)信息安全培訓(xùn)課件-PPT
- 北京市醫(yī)藥衛(wèi)生科技促進(jìn)中心關(guān)于印發(fā)《首都醫(yī)學(xué)科技創(chuàng)新成果轉(zhuǎn)化優(yōu)促計(jì)劃實(shí)施方案(試行)的通知》
- (完整版)互聯(lián)網(wǎng)+項(xiàng)目策劃書(shū)
- THBLS 0011-2023 荊楚糧油 優(yōu)質(zhì)油菜籽生產(chǎn)技術(shù)規(guī)程
- 2023春國(guó)開(kāi)社會(huì)調(diào)查研究與方法單元自測(cè)1-5試題及答案
- 美國(guó)AHA心肺復(fù)蘇指南
- 水資源規(guī)劃及利用智慧樹(shù)知到答案章節(jié)測(cè)試2023年長(zhǎng)春工程學(xué)院
- HAND-成本模塊:移動(dòng)平均成本-系統(tǒng)操作
- 慢阻肺匯總講解培訓(xùn)課件
- GB 6000-1999主要造林樹(shù)種苗木質(zhì)量分級(jí)
評(píng)論
0/150
提交評(píng)論