計算機通信與網(wǎng)絡(luò)實驗指導(dǎo)_第1頁
計算機通信與網(wǎng)絡(luò)實驗指導(dǎo)_第2頁
計算機通信與網(wǎng)絡(luò)實驗指導(dǎo)_第3頁
計算機通信與網(wǎng)絡(luò)實驗指導(dǎo)_第4頁
計算機通信與網(wǎng)絡(luò)實驗指導(dǎo)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、計算機通信與網(wǎng)絡(luò)實驗指導(dǎo)winsock實驗1數(shù)據(jù)報1. 確定雙方的角色客戶機/服務(wù)器2. 找到本機的ip地址開始程序附件命令提示符執(zhí)行ipconfig出現(xiàn) ip address: xxx.xxx.xxx.xxxsubnet mask: xxx xxx xxx xxxdefault gateway: xxx.xxx.xxx.xxx記錄下ip地址3. 記錄下合作者的ip地址4. 服務(wù)器端(1) 打開 microsoft visual c+:文件一 打開 一 shujubaofuwul .cpp;(2) 閱讀程序;(3) 將函數(shù) startsock ()中 serveraddi*.sin_adclr

2、.s_adduinet_ad(ir("xxx.xxx.xxx.xxx'') 填入木機ip地址(4) 將函數(shù) udprecv ()屮 client.sin_addi*.s_adduine(_adclr(“xxx.xxx.xxx.xxx'') 填入對方ip地址(5) 編譯并執(zhí)行程序,正常出現(xiàn)“waiting for revc"5. 客戶端(1) 打開 microsoft visual c+:文件一打開一shujubaokehu 1 .cpp(2) 閱讀程序(3) 將函數(shù) startsock ()中 clientadd匚sin_add匚s_dddr

3、二inet_addr(“xxx.xxx.xxx.xxx”) 填入木機ip地址(4) 將函數(shù) udpsend()中 server.sinaddr.sadditneladdwxxx.xxx.xxx.xxx”) 填入對方ip地址(5) 編譯程序,正常并執(zhí)行程序,正常出現(xiàn)“輸入信息:"(6) 鍵入“xxxx”回車6觀察:服務(wù)器端應(yīng)該顯示接收到的內(nèi)容。該內(nèi)容被服務(wù)器端完整返回給客戶端。 客戶端顯示:“等待服務(wù)器響應(yīng)二“收到返回信息”以及相應(yīng)的返回信息。7. 理解程序:(1) 在同1臺計算機上運行客戶機/服務(wù)器程序,有哪2種方法?修改ip地址, 并運行。(2) 雙方修改port號,運行程序,討論

4、結(jié)果。(3)雙方修改ip號,運行程序,討論結(jié)果。(4)客戶端輸入“exft,給出現(xiàn)象,討論如何結(jié)束程序。(5)檢查socket(),分析里面的參數(shù)。8雙方交換執(zhí)行程序。1. 確定雙方的角色客戶機/服務(wù)器2. 找到本機的ip地址開始一 程序一 附件一 命令提示符一執(zhí)行i pcon fi ghl現(xiàn) ip address: xxx.xxx.xxx.xxxsubnet mask: xxx xxx xxx xxxdefault gateway: xxx.xxx.xxx.xxx記錄下ip地址3. 記錄下合作者的ip地址4. 服務(wù)器端(1) 打開 microsoft visual c+:文件一打開huihu

5、afuwu.cpp(2) 閱讀程序(3) 將函數(shù) startsock ()屮 serveraddr.sin_addr.s_addr=inet_addrc6xxx.xxx.xxx.xxxv) 填入本機ip地址(4) 編譯并執(zhí)行程序,正常出現(xiàn)“l(fā)istening.”5. 客戶端(1) 打開 microsoft visual c+:文件一打開一huihuakehu.cpp(2) 閱讀程序(3) 將函數(shù) startsock ()屮 serveraddi*.sin_addr.s_addr=inet_adck("xxx.xxx.xxx.xxx") 填入對方ip地址(4) 編譯程序,正常

6、并執(zhí)行程序,正常出現(xiàn)''connect ok,? “press any key to send!"input the number of message to send: (0exit)(5) 鍵入任意小于50的數(shù)字并回車6. 觀察:客戶端顯示擬發(fā)送的數(shù)據(jù)個數(shù)。服務(wù)器端應(yīng)該顯示接收到的數(shù)據(jù)個數(shù)。7. 理解程序:(1) 改變ip/port地址,觀察結(jié)果,討論。(2) 修改不存在的版本號makeword(0,0),結(jié)果如何?討論。(3) 在主程序中注釋掉starsock(),結(jié)杲如何?討論。(4) 在主程序中注釋掉creatsocket(),結(jié)果如何?討論。(5) 為什么

7、該會話通信程序中沒有出現(xiàn)客戶端的ip地址?8. 雙方交換執(zhí)行程序。按照以上實驗內(nèi)容撰寫實驗報告。發(fā)送方:1. 創(chuàng)建數(shù)據(jù)報套接字,只有sock.dgram才支持廣播通信。2. 綁定數(shù)據(jù)報套接字于指定的地址和接口。需要找到本機的ip地址,填充 在 from.sin_addr.s_addr=inet_addr("xx.xx.xx.xx");以及本地的通信端口。試問這 個端口在實驗中是如何定義的?3. 通過套接字選項設(shè)置數(shù)據(jù)報套接字的廣播屬性。在setsockopt(socket s, int level, int optname, const char far*optval, i

8、nt*optlen)其中,s:標(biāo)識套接字;level:選項定義層次,有 sol_socket/ipproto_tcp;optname:選項名 so.broadcast (允許傳送廣播信息), so.dontroute (禁止選徑,直接傳送)等;optval:存放緩沖區(qū)指針;optlen:指向上述緩沖區(qū)長度的指針;4. 通過sendto()發(fā)廣播信息,其屮對方套接字為廣播套接字,即對方的地 址必須是in addr_bro adc ast,將其賦給to.sin_addr.s_addr,對方的端口是 什么?接收方:用數(shù)據(jù)報通信程序中的接收程序即可,此處使用shujubaofuwu.cppo可以多 個

9、。驗證及問題:1. 在同一網(wǎng)段的計算機只要運行廣播接收程序,是否都可以收到廣播信息?2. 接收廣播信息,應(yīng)該定義怎樣的套接字?應(yīng)該調(diào)用哪個接收函數(shù)?是否需耍知道發(fā)送方的ip地址?是否需要知道自己一方的ip地址?3. 過度使用廣播技術(shù),會造成什么問題?1. 加入多播組。用socket函數(shù)創(chuàng)建一個套接字,也必須是dgram類型。定義多播地址。如#define mcastaddr ”234.5 67”dwmulticastgroup = inet_addr(mcastaddr);2. 調(diào)hl setsockopt函數(shù),設(shè)置pi add_membership選項,同時指定想加入 的那個組的結(jié)構(gòu)。if

10、(setsock opt (sockm, ipproto_ir ip_add_membership, (char*)&mcast, sizeof(mcast)=socket_error)printf("setsockopt(ipadd_membership)failed:%dn",ws ag et las terr or ();closesocket(sockm);wsacleanupo;return(-l);local.sin_family=af_inet;local.sin_addr.s_addi*=dwlntei*face;/ local ip addresslocal.sin_port= htons(mcastr_port);/receiver multi port3. ip多播組的加入和離開都是用setsockopt完成,ip add_membership是 加入組,ip drop_membership是脫離組。if (setsockopt(sockm, ipproto_ip,ip_drop_membershib(char*)&mcast, sizeof(mcast) = socket_error)printf("setsockopt(ipdrop_membership)failed:%

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論