socket網(wǎng)絡(luò)編程實(shí)驗(yàn)報(bào)告_第1頁(yè)
socket網(wǎng)絡(luò)編程實(shí)驗(yàn)報(bào)告_第2頁(yè)
socket網(wǎng)絡(luò)編程實(shí)驗(yàn)報(bào)告_第3頁(yè)
socket網(wǎng)絡(luò)編程實(shí)驗(yàn)報(bào)告_第4頁(yè)
socket網(wǎng)絡(luò)編程實(shí)驗(yàn)報(bào)告_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、大連民族學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)題目:編程綜合實(shí)驗(yàn)1課程名稱:網(wǎng)絡(luò)編程技術(shù)實(shí)驗(yàn)類型:演示性驗(yàn)證性操作性設(shè)計(jì)性綜合性專業(yè):軟件工程班級(jí):2010姓-名2:楊騰飛學(xué)號(hào):20100實(shí)驗(yàn)日期:201年35月13日實(shí)驗(yàn)地點(diǎn):多媒體機(jī)房(1)實(shí)驗(yàn)學(xué)時(shí):4實(shí)驗(yàn)成績(jī)指導(dǎo)教師簽字:年5月2日820實(shí)驗(yàn)?zāi)康呐c要求實(shí)驗(yàn)?zāi)康模赫J(rèn)真閱讀課程代碼,并在通信功能之上設(shè)計(jì)和實(shí)現(xiàn)一個(gè)簡(jiǎn)單的聊天程序。實(shí)驗(yàn)內(nèi)容:練習(xí)使用socket編寫客戶/服務(wù)程序,掌握socket的使用方法,熟悉并掌握多線程的概念總的設(shè)計(jì)思想及語言編程語言:C設(shè)計(jì)思想:讓客戶端與服務(wù)器建立鏈接即可通信,服務(wù)端建立套接字的大致步驟:1.建立socke

2、t。2。bind綁定特定的端口。3。listen監(jiān)聽特定的端口。4.accept,當(dāng)有客戶端連接服務(wù)器端口時(shí),accept接收信息,并返回新的套接字描述符,提供給操作5.根據(jù)實(shí)際需求,write,read,send,recv等操作6.關(guān)閉套接字??蛻舳舜笾虏襟E:1.創(chuàng)建socket.2艮據(jù)服務(wù)器地址,connect連接到特定服務(wù)器。3.write,read等讀寫操作。4.關(guān)閉套接字。源程序#include#include#includevoidmain()WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD

3、(1,1);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0)return;if(LOBYTE(wsaData.wVersion)!=1|HIBYTE(wsaData.wVersion)!=1)WSACleanup();return;SOCKETsockSrv=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_INaddrSrv;addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);addrSrv.sin_family=AF_INET;addrSrv.sin_port=h

4、tons(6000);bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR);listen(sockSrv,6);charsendBuf100;charrecvBuf100;chartempBuf100;SOCKADDR_INaddrClient;intlen=sizeof(SOCKADDR);while(1)printf(waitingforclientn);SOCKETsockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);recv(sockConn,tempBuf,100,0);if(tempB

5、uf0!=q)sprintf(recvBuf,%ssay:%s,inet_ntoa(addrClient.sin_addr),tempBuf);printf(%sn,recvBuf);printf(pleaseinputyourdata,server:n);gets(sendBuf);send(sockConn,sendBuf,strlen(sendBuf)+1,0);elseprintf(%srequesttoquitthechatplatform,inet_ntoa(addrClient.sin_addr);send(sockConn,q,strlen(q)+1,0);closesocke

6、t(sockConn);break;closesocket(sockSrv);WSACleanup();/kII-*/*客戶端*/#include#include#include/#pragmacomment(lib,ws2_32.lib)voidmain()WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0)return;if(LOBYTE(wsaData.wVersion)!=1|HIB

7、YTE(wsaData.wVersion)!=1)return;while(1)SOCKETsockClient=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_INaddrSrv;addrSrv.sin_addr.S_un.S_addr=inet_addr(127.0.0.1);addrSrv.sin_family=AF_INET;addrSrv.sin_port=htons(6000);charsendBuf100;chartempBuf100;charrecvBuf100;intlen=sizeof(SOCKADDR);connect(sockClient,

8、(SOCKADDR*)&addrSrv,sizeof(SOCKADDR);printf(pleaseinputyourdata,client:n);gets(sendBuf);printf(waitingforservern);send(sockClient,sendBuf,sizeof(sendBuf)+1,0);recv(sockClient,tempBuf,100,0);if(tempBuf0!=q)sprintf(recvBuf,serversay:%s,tempBuf);printf(%sn,recvBuf);elseprintf(theserverhasbeenclosed!n);send(sockClient,q,strlen(q)+1,0);break;/closesocket(sockClient);WSACleanup();自我評(píng)價(jià)與總結(jié)此次實(shí)驗(yàn)是對(duì)Socket的一個(gè)應(yīng)用,讓我更深的了解了Socket函數(shù)的作用及使用方法。通過這次實(shí)驗(yàn)?zāi)軌蚋惺艿骄W(wǎng)絡(luò)在實(shí)際當(dāng)中的運(yùn)用,使我對(duì)網(wǎng)絡(luò)編程有了更深的概念。同時(shí)讓我發(fā)現(xiàn)自己知識(shí)結(jié)構(gòu)的欠缺。雖然基本功能已經(jīng)實(shí)現(xiàn),但還是存在很多不穩(wěn)定的問題尚待解決。實(shí)驗(yàn)過程中遇到了很多的問題,例如:程序只能通信一次。剛開始我以為建立的socket套接口

溫馨提示

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

評(píng)論

0/150

提交評(píng)論