北京理工大學計算機網絡實踐WinSock點對點通信實驗報告_第1頁
北京理工大學計算機網絡實踐WinSock點對點通信實驗報告_第2頁
北京理工大學計算機網絡實踐WinSock點對點通信實驗報告_第3頁
北京理工大學計算機網絡實踐WinSock點對點通信實驗報告_第4頁
北京理工大學計算機網絡實踐WinSock點對點通信實驗報告_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 實驗一WinSock點對點通信程序一、實驗目的:WinSock是Windows操作系統(tǒng)下的Socket編程接口,通過WinSock函數(shù)庫可以實現(xiàn)基于TCP/IP協(xié)議的進程之間通信。理解基于WinSock的客戶/服務器概念掌握使用WinSock進行編程的方法了解常見WinSock開發(fā)模式的使用二、實驗內容:基于WinSock開發(fā)一個簡單的客戶/服務器文本傳輸程序,客戶端能夠發(fā)送由標準輸入得到的文本,服務器能夠接收并將其顯示在標準輸出上。三、實驗環(huán)境:程序運行環(huán)境為以太網,采用TCP/IP協(xié)議棧,網絡操作系統(tǒng)為Windows。程序開發(fā)環(huán)境為vs2012版本。四、實驗步驟:步驟1需求分析程序功能為

2、:(1)服務器可以接受任何客戶的連接(2)服務器在同一時刻只能與一個客戶通信,直到該客戶退出才可以接收下一個客戶(3)客戶程序使用命令行參數(shù)指定服務器地址(4)客戶端輸入的文本都發(fā)送給服務器(5)客戶使用Ctrl+C鍵停止發(fā)送,關閉連接步驟2服務器程序:定義全局變量:SOCKETServer;/服務器端套接字SOCKADDR_INClient_Addr;/請求用戶的Ip地址SOCKETSock_Conn;/是否建立連接成功charBuff_Recv1024;/接收字符緩沖charBuff_Send1024;/發(fā)送字符緩沖區(qū)服務器端主程序及用到的相關函數(shù):voidSLoad();/加載套接字庫v

3、oidSCreate();/創(chuàng)建套接字voidSBind();/綁定套接字到一個IP地址和一個端口上voidSListen();/將套接字設置為監(jiān)聽模式等待連接請求voidSAccept();/*請求到來后,接受連接請求,返回一個新的對應于此次連接的套接字*/voidSClose();/關閉套接字voidSUnLoad();/卸載套接字庫voidReceive();/接受請求voidSend();/服務器段發(fā)送字符串到客戶端主函數(shù):intmain(intargc,char*argv)/*循環(huán)查詢*/while(1)SLoad();SCreate();SBind();SListen();SAcc

4、ept();Receive();SClose();SUnLoad();步驟三、客戶端程序:定義全局變量:SOCKETClient;/客戶端端套接字SOCKADDR_INServer_Addr;/服務器用戶的Ip地址WSADATAwsaData;charBuff_Recv1024;/接收字符緩沖charBuff_Send1024;/發(fā)送字符緩沖區(qū)客戶端主程序及用到的相關函數(shù):voidSLoad();/加載套接字庫voidSCreate();/創(chuàng)建套接字voidSBind();/綁定套接字到一個IP地址和一個端口上voidSAccept();/*請求到來后,接受連接請求,返回一個新的對應于此次連接

5、的套接字*/voidSClose();/關閉套接字voidSUnLoad();/卸載套接字庫voidReceive();/客戶端接收字符串到客戶端voidSend();/發(fā)送請求主函數(shù):intmain(intargc,char*argv)SLoad();SCreate();SBind();SAccept();/*循環(huán)發(fā)送請求*/while(1)Send();SCloseO;SUnLoad();五、實驗效果:服務器端接收請求:illCUsersVDFCtDocumentsWisuiaII:Studio2012PrMonitoicustomerconnections.-客戶端輸入服務器IP地址并等

6、待響應:客戶端選擇命令幫助1進行通信2退出服務器進行選擇是否響應客戶端開始通信:客戶端:C:IJr&DKDo-cumenttVisuakStudia2O12ProjertsWLJazLtingfortheserver1srepl.y.BeintoCFal:fVoucanenterexittoquit.client=123seruer:456client:服務器端:六、實驗總結:Socket接口是TCP/IP網絡的API,Socket接口定義了許多函數(shù)或例程,我們可以用它們來開發(fā)TCP/IP網絡上的應用程序。要學Internet上的TCP/IP網絡編程,必須理解Socket接口。socket實質上提供了進程通信的端點。進程通信之前,雙方首先必須各自創(chuàng)建一個端點,否則不能建立聯(lián)系并相互通信。在網絡中,每一個socket用一個半相關描述:(協(xié)議,本地地址,本地端口)一個Server-Client模型的程序開發(fā)原理:服務器,使用ServerSocket監(jiān)聽指定的端口,端口可以隨意指定(由于1024以下的端口通常屬于保留端口,在一些操作系統(tǒng)中不可以隨意使用,所以建議使用大于1024的端口),等待客戶連接請求,客戶連接后,會話產生;在完成會話

溫馨提示

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

評論

0/150

提交評論