




已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
網(wǎng) 絡 程 序 設 計實驗報告 實驗名稱:Winsock編程接口實驗 實驗類型: 驗 證 型 一、實驗目的l 掌握Winsock的啟動和初始化;l 掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查詢函數(shù)的使用。二、實驗設計實驗內容:1、編寫程序能同時實現(xiàn)對多個域名的解析。比如在控制臺輸入:getip , 能輸出和 對應的IP地址列表。2、編寫程序獲取并輸出本地主機的所有適配器的IP地址,子網(wǎng)掩碼,默認網(wǎng)關,MAC地址。根據(jù)實驗內容編寫程序: 1、對相關域名進行解析,利用gethostbyname()完成解析,用到的結構體為: 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存儲; 2、利用GetAdaptersInfo()函數(shù)獲得本地主機的相關信息,通過IP_ADAPTER_INFO結構體返回所需信息。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;三、實驗過程(包含實驗結果)1、分析題目,編寫程序;2、將編寫的程序進行編譯、運行,輸入題目給定的內容,完成題目要求;結果如下: 第1題: 第2題: 四、討論與分析 思考題: 1、Winsock初始化的作用:只有調用了WSAStartup()進行初始化之后,應用程序才能調用其他Windows Sockets API函數(shù),實現(xiàn)網(wǎng)絡通信; 2、函數(shù)原型為:DWORD GetAdaptersInfo( PIP_ADAPTER_INFO pAdapterInfo, /接受數(shù)據(jù)的緩沖區(qū) PULONG pOutBufLen / 數(shù)據(jù)的長度大小); 3、域名解析時出現(xiàn)域名對應多個IP,原因:該域名存在于多個服務器。 五、實驗者自評 通過本次實驗,我掌握了Winsock的啟動和初始化以及gethostname(),gethostbyname(),GetAdaptersInfo()等函數(shù)查詢的使用,加深了以前對課本知識的認識程度。6、 附錄:關鍵代碼(給出適當注釋,可讀性高) 第1題代碼: / GetAllIps.cpp文件/#include ./common/InitSock.h#include #include #include using namespace std;#pragma comment(lib, WS2_32)/ 鏈接到WS2_32.lib/CInitSock initSock;/ 初始化Winsock庫void main()char szMessage256; / 取得本地主機名稱/ 初始化WSADATA wsaData;if(WSAStartup(MAKEWORD(2,2), &wsaData) != 0) exit(0);/ 通過主機名得到地址信息printf( Get IP::);gets(szMessage);/ 獲取主機信息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( 服務器 %s IP地址:%s n ,szMessage, szIp);printf(服務器名字: %s n,pHost-h_name );/:WSACleanup();第2題代碼:/ 獲取并輸出本地主機的所有適配器的IP地址,子網(wǎng)掩碼,默認網(wǎng)關,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的實際大小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)關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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨公路吊車架梁專項建筑施工組織設計及對策
- 選煤廠生產(chǎn)線自動化控制安全防護方案
- 基礎樁基施工技術實施方案
- 保障性住房工程造價與招標管理方案
- 智算中心擴建項目建設工程方案
- 建設工程項目施工合同中的合同備案與行政管理
- 探索貨物運輸合同中的環(huán)保責任與可持續(xù)發(fā)展戰(zhàn)略
- 無共同財產(chǎn)且有子女撫養(yǎng)協(xié)議的離婚協(xié)議書
- 鋼結構設計優(yōu)化與分析
- 信息技術在護理教學模式創(chuàng)新中的應用研究
- 電梯五方通話布線方案
- 物理化學實驗B智慧樹知到課后章節(jié)答案2023年下北京科技大學
- 河南農業(yè)大學-畢業(yè)答辯PPT模板
- 技術類《核電站通用機械設備》第1部分(閥門)
- 田徑運動會競賽團體總分記錄表
- 2023年一級建造師考試《建設工程法規(guī)及相關知識》真題及答案
- Analyst軟件應用培訓教程
- 勻變速直線運動的推論和比例式公開課一等獎市賽課一等獎課件
- 安慶時聯(lián)新材料有限責任公司10000噸年抗氧劑系列產(chǎn)品及抗紫外線吸收劑生產(chǎn)項目環(huán)境影響報告
- 2023學年完整公開課版教學Starsafterthestorm秦菽康
- 鐵道基礎知識考試題庫(參考500題)
評論
0/150
提交評論