下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、人和以吟實(shí)驗(yàn)報告 學(xué)院(系)名稱: 計算機(jī)與通信工程學(xué)院 姓名 學(xué)號 專業(yè) 計算機(jī)科學(xué)與技術(shù) 班級 實(shí)驗(yàn)名稱 實(shí)驗(yàn)二:基于 TCP/UDP的Socket編程 課程名稱 計算機(jī)網(wǎng)絡(luò) 課程代碼 實(shí)驗(yàn)時間 實(shí)驗(yàn)地點(diǎn) 7#219 批改意見 成績 教師簽字: 1. 實(shí)驗(yàn)?zāi)康?了解套接字(socket)實(shí)現(xiàn)原理。通過編成理解TCP、UDP原理,加深對傳輸層的功能理解。 2. 實(shí)驗(yàn)環(huán)境 Win dows 7 3. 實(shí)驗(yàn)要求 請在以下題目中選擇一個,按照要求完成實(shí)驗(yàn),并完成實(shí)驗(yàn)報告。實(shí)驗(yàn)可以分組進(jìn)行,每2人一組,在 報告中注明每個成員的分工。編程可以使用任何高級語言,建議使用java或C+。 (1)基于 TC
2、P / UDP 的 socket 編程 a)利用Java或C+語言,分別基于 TCP和UDP編寫一個簡單的 Client/Server網(wǎng)絡(luò)應(yīng)用程序。 要求實(shí)現(xiàn)客戶向服務(wù)器傳輸任意一個字符串,服務(wù)器將收到的字符串變換成大寫后傳回客戶。 b)修改上述程序,實(shí)現(xiàn)服務(wù)器根據(jù)客戶請求,將服務(wù)器端指定的文件可靠地傳輸給客戶。如果 服務(wù)器沒有指定的文件,服務(wù)器將給客戶返回一個信息,通知客戶其請求文件不存在。 4. 實(shí)驗(yàn)過程記錄(源程序、測試用例、測試結(jié)果及心得體會等) 源程序: (1 )服務(wù)端: /server.cpp #i nclude #i nclude #i nclude #i nclude #in
3、elude #pragmacomme nt(lib, WS2_32.lib ) usingn amespacestd; void OutErr(stri ng msg) cout 錯誤!發(fā)生在 msg 0) if(FD_ISSET(c, if(ReciveBytes=SOCKET_ERROR) break; cout 收到字節(jié)數(shù): ” ReciveBytes e ndl; dataReciveBytes= 0 ; cout data 0); FD_CLR (c, closesocket(c); return 0; intmai n() SOCKET server; SOCKET clie nt
4、; SOCKADDR_IN ser_addr,cli_addr; WSADATA wdata; intcliaddrLe n=0; UINT port=4000; HANDLEHnd; DWORDdwThreadID; if(WSAStartup(MAKEWORD(2,0), return 1; ser_addr.sin_addr.S_ un .S_addr=i net_addr( 0.0.0.0 ); ser_addr.s in _family=AF_INET; ser_addr.s in _port=ht on s(port); if(server=WSASocket(AF_INET,SO
5、CK_STREAM,IPPROTO_IP,NULL,0,1)=INVALID_SOCKET) if(server=socket(AFN ET,SOCK_STREAM,IPPROTO_IP)=INVALID_SOCKET) OutErr(stri ng( WSASocket ); return 1; if(bi nd(server,(SOCKADDR*) return 1; if(liste n(server,5)!=0) OutErr(stri ng( listen ); return 1; while(1) cliaddrLe n=sizeof(SOCKADDR); clie nt=acce
6、pt(server,(SOCKADDR*) cout 客戶 IP: inet_ntoa(cli_addr.sin_addr) ,端口 : ntohs(cli_addr.sin_port) 0) if(FD_ISSET(client, if(ReciveBytes=SOCKET_ERROR) /SOCKET 錯誤 break; dataReciveBytes=O; 加上結(jié)束符 cout 收到” ReciveBytes 個字節(jié):n data 0); /while接收數(shù)據(jù) if(Hn d=NULL) CloseHa ndle(H nd); closesocket(clie nt); closesoc
7、ket(server); WSAClea nup(); return 0; 客戶端: /clie nt.cpp #i nclude #i nclude #in clude #pragmacomment(lib, ws2_32.lib ) usingn amespacestd; void OutErr(stri ng msg) cout 錯誤發(fā)生:” msg e ndl; intmai n() SOCKET c; SOCKADDR_IN server_addr; WSADATAwsd; stri ngmsg; stri ngremote_ip; cout remote_ip; if(WSASta
8、rtup(MAKEWORD(2,2), return 1; if(c=WSASocket(AFN ET,SOCK_STREAM,IPPROTO_IP,NULL,0,1)=INVALID_SOCKET) OutErr(stri ng( WSASocket ); return 1; server_addr.s in _addr.S_ un. S_addr =in et_addr(remote_ip.c_str(); server_addr.sin_family=AFN ET; server_addr.s in _port=ht on s(4000); if(conn ect(c,(SOCKADDR*) return 1; do int Se ntBytes; cin msg; if(msg= exit )break; if(Se ntBytes=se nd(c,msg.c_str(),msg.size(),0)=SOCKET_ERROR) OutErr(stri ng( se nd ); break; while(1); closesocket(c); WSAClea nup(); return 0; 測試結(jié)果: 心得體會: 通過這次的實(shí)驗(yàn),鞏固
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高效能玻璃鋼化糞池采購協(xié)議范本版B版
- 2024自用房屋租賃合同
- 2025年違約借款合同糾紛解決途徑3篇
- 二零二五年度新能源汽車OEM制造與零部件供應(yīng)合同3篇
- 2025廠房土地買賣合同中對環(huán)境友好型建筑標(biāo)準(zhǔn)的約定3篇
- 2025年度森林資源管理與測繪合同范本3篇
- 2024網(wǎng)絡(luò)安全與信息保密合同
- 二零二四三方詢價采購合同-國際物流運(yùn)輸服務(wù)采購2篇
- 2024石料礦山資源整合與開采合同3篇
- 二零二五版全國CHS技術(shù)交流與合作合同3篇
- 勞務(wù)投標(biāo)技術(shù)標(biāo)
- 研發(fā)管理咨詢項目建議書
- 濕瘡的中醫(yī)護(hù)理常規(guī)課件
- 轉(zhuǎn)錢委托書授權(quán)書范本
- 一種配網(wǎng)高空作業(yè)智能安全帶及預(yù)警系統(tǒng)的制作方法
- 某墓園物業(yè)管理日常管護(hù)投標(biāo)方案
- 蘇教版六年級數(shù)學(xué)上冊集體備課記載表
- NUDD新獨(dú)難異 失效模式預(yù)防檢查表
- 內(nèi)蒙古匯能煤電集團(tuán)有限公司長灘露天煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 22S702 室外排水設(shè)施設(shè)計與施工-鋼筋混凝土化糞池
- 2013日產(chǎn)天籟全電路圖維修手冊45車身控制系統(tǒng)
評論
0/150
提交評論