




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 簡單TCP通信程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告 學(xué) 校:華中科技大學(xué) 學(xué) 院: 姓 名: 學(xué) 號: 同組人: 一, 實(shí)驗(yàn)?zāi)康?初步掌握C+ 語言TCP/IP 通信程序的設(shè)計(jì)。二, 實(shí)驗(yàn)環(huán)境 1、Windows 7 操作系統(tǒng)。2、 編程工具:Visual Studio 2010。三,實(shí)驗(yàn)框圖WinSock 通過流式套接字(SOCK_STREAM)提供TCP 服務(wù)。通常服務(wù)器進(jìn)程先啟動,等待客戶端的連接請求。其基基通信過程如下圖1所示。四,實(shí)驗(yàn)內(nèi)容與步驟(server) 1,加載WinSock動態(tài)鏈接庫 函數(shù)原型: int WSAStartup(WORD wVersionRequest
2、ed, LPWSADATA lpWSAData); 程序代碼: /加載WinSock.DllWSADATA wsaData;WORD wVersionRequested = MAKEWORD(2, 2);if (WSAStartup(wVersionRequested, &wsaData) != 0)/ WinSock 初始化錯(cuò)誤處理代碼 2,創(chuàng)建套接字 創(chuàng)建套接字的實(shí)質(zhì)是請求操作系統(tǒng)分配通信所需要的資源(包括存儲空間、網(wǎng)絡(luò)資源、CPU 時(shí)間等),用一個(gè)稱為套接字描述符(socket descriptor)的整數(shù)表示。 函數(shù)原型: SOCKET socket(int af, int t
3、ype, int protocol); 程序代碼: /創(chuàng)建套接字 SOCKET sock_client;if (sock_client= socket(AF_INET, SOCK_STREAM, 0) = INVALID_SOCKET)cout << "創(chuàng)建套接字失?。″e(cuò)誤代碼:"<< WSAGetLastError() << endl;WSACleanup();return 1;3,建立連接 客戶端則在創(chuàng)建套接字后,調(diào)用connect 函數(shù)發(fā)起連接建 立請求。 函數(shù)原型: int connect(SOCKET s, const stru
4、ct sockaddr * name, int namelen); 程序代碼: /建立連接struct sockaddr_in server_addr; / 用于存放要連接服務(wù)器的地址int addr_len = sizeof(server_addr);/ 填寫服務(wù)器地址memset(void *)&server_addr, 0, sizeof(struct sockaddr_in);server_addr.sin_family = AF_INET;server_addr.sin_port = htons(65432);server_addr.sin_addr.s_addr = ine
5、t_addr(""); / 服務(wù)器IP 地址/ 與服務(wù)器建立連接if (connect(sock_client, (struct sockaddr *)&server_addr, sizeof(structsockaddr_in) != 0)cout << "連接失?。″e(cuò)誤代碼:" << WSAGetLastError() << endl;closesocket(sock_client);WSACleanup();return 1;else/接收數(shù)據(jù) 4,發(fā)送和接收數(shù)據(jù) 發(fā)送和接收數(shù)據(jù)分別使用
6、send 和recv 函數(shù)。(1)recv 函數(shù)原型: int recv(SOCKET s, const char * buf, int len, int flags);程序代碼:/接收數(shù)據(jù)char msgbuffer255;int size;if (size = recv(sock_client, msgbuffer, sizeof(msgbuffer), 0) = SOCKET_ERROR)cout << "接收數(shù)據(jù)失敗;錯(cuò)誤代碼:" << WSAGetLastError() << endl;elsecout << &qu
7、ot;接收到的數(shù)據(jù):" << msgbuffer << endl;/顯示從服務(wù)端接收的數(shù)據(jù) (2)send 函數(shù)原型: int send(SOCKET s, const char * buf, int len, int flags);程序代碼:/發(fā)送數(shù)據(jù)char msgbuf = "The message to be sent."int size;if (size = send(sock_client, msgbuf, sizeof(msgbuf), 0) = SOCKET_ERROR)cout << "發(fā)送數(shù)據(jù)失敗;錯(cuò)誤代碼:" << WSAGetLastError() << endl;elseclosesocket(sock_client); WSACleanup();5,關(guān)閉套接字 通信完成后,程序退出前應(yīng)關(guān)閉套接字。 函數(shù)原型: int closesocket(SOCKET s);程序代碼: closesocket(newsock); WSACleanup();五,實(shí)驗(yàn)結(jié)果, 1,服務(wù)端調(diào)試成功exe文件截圖: 2,客戶端調(diào)試成功exe文件截圖六,實(shí)驗(yàn)總結(jié) 1,編寫client程序時(shí)遇到的問題及解決方法 (1)在編寫
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范例簽訂期限
- 雙方買賣協(xié)議合同范本
- 單位鋪面招租合同范本
- 付外匯合同范本
- 訂年會行業(yè)分析研究報(bào)告
- 旅游景區(qū)行業(yè)分析研究報(bào)告
- 合伙經(jīng)營快遞公司合同范本
- 醫(yī)院正式員工合同范本
- 買家貸款合同范本
- 雙方置換合同范本
- 二副工作心得體會實(shí)習(xí)感觸
- 土壤肥料全套課件
- 旅游消費(fèi)者行為學(xué)整套課件完整版電子教案課件匯總(最新)
- 學(xué)前兒童發(fā)展心理學(xué)(第3版-張永紅)教學(xué)課件1754
- 特氣供應(yīng)系統(tǒng)的規(guī)劃與設(shè)計(jì)
- 中職《機(jī)械基礎(chǔ)》全套課件(完整版)
- 勞技-中國結(jié)PPT通用課件
- 溫庭筠《望江南》ppt課件
- 口腔正畸學(xué)單詞
- 內(nèi)襯修復(fù)用HTPO管材企標(biāo)
- 部編教材一年級下冊生字筆順筆畫
評論
0/150
提交評論