實(shí)驗一 Windows下Socket編程實(shí)現(xiàn)簡單通信

實(shí)驗一 Windows下Socket編程實(shí)現(xiàn)簡單通信

ID:39575982

大小:174.50 KB

頁數(shù):6頁

時間:2019-07-06

實(shí)驗一 Windows下Socket編程實(shí)現(xiàn)簡單通信_第1頁
實(shí)驗一 Windows下Socket編程實(shí)現(xiàn)簡單通信_第2頁
實(shí)驗一 Windows下Socket編程實(shí)現(xiàn)簡單通信_第3頁
實(shí)驗一 Windows下Socket編程實(shí)現(xiàn)簡單通信_第4頁
實(shí)驗一 Windows下Socket編程實(shí)現(xiàn)簡單通信_第5頁
資源描述:

《實(shí)驗一 Windows下Socket編程實(shí)現(xiàn)簡單通信》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、天津理工大學(xué)實(shí)驗報告學(xué)院(系)名稱:計算機(jī)與通信工程學(xué)院姓名劉琪琪學(xué)號20125871專業(yè)網(wǎng)絡(luò)工程班級1班實(shí)驗題目Windows下Socket編程實(shí)現(xiàn)簡單通信課程名稱網(wǎng)絡(luò)編程課程代碼實(shí)驗時間2015實(shí)驗地點(diǎn)7-219批改意見成績教師簽字:實(shí)驗Windows下Socket編程實(shí)現(xiàn)簡單通信一實(shí)驗?zāi)康脑趙indows環(huán)境下進(jìn)行socket編程,實(shí)現(xiàn)兩臺主機(jī)間的簡單通信。二實(shí)驗環(huán)境搭載Windows7操作系統(tǒng)的PC機(jī)VC6.0編譯器三實(shí)驗內(nèi)容1,服務(wù)器、客戶端創(chuàng)建套接字2,客戶端發(fā)送連接請求3,服務(wù)器收到請求后打印連接成功消息四實(shí)驗報告要求1,有客戶端和

2、服務(wù)器的完整代碼2,實(shí)驗結(jié)果截圖3,Socket通信過程流程圖五部分源代碼及主要Socket函數(shù)參考1,注冊套接字函數(shù)socket(intaf,inttype,intprotocol)參數(shù)解釋:af:一個地址描述,目前只支持AF_INET格式,也就是說在本次實(shí)驗中此參數(shù)直接寫為AF_INET即可。type:指定socket類型,例如TCP類型(SOCK_STREAM)UDP類型(SOCK_DGRAM)protocol:套接口制訂協(xié)議類型可以為0,。常用類型有IPPROTO_TCP、IPPROTO_UDP等2,綁定套接字函數(shù)bind(SOCKETs

3、,conststructsockaddrFAR*addr,intnamelen);參數(shù)解釋:s:socket()函數(shù)返回的套接口描述字addr:指向Socket地址的指針namelen:該地址的長度3,監(jiān)聽函數(shù)listen(SOCKETs,intbacklog)參數(shù)解釋:s:socket()函數(shù)返回的套接口描述字backlog:等待連接隊列的最大長度4,接收連接函數(shù)accept(SOCKETs,structsockaddrFAR*addr,intFAR*addrlen)參數(shù)解釋:s:socket()函數(shù)返回的套接口描述字addr:(可選)指針,指

4、向一緩沖區(qū),其中接收為通訊層所知的連接實(shí)體的地址。addr參數(shù)的實(shí)際格式由套接口創(chuàng)建時所產(chǎn)生的地址族確定addrlen:(可選)指針,輸入?yún)?shù),配合addr一起使用,指向存有addr地址長度的整型數(shù)5,發(fā)送連接請求函數(shù)connect(SOCKETs,conststructcoskaddrFAR*name,intnamelen)s:socket()函數(shù)返回的套接口描述字name:想要進(jìn)行連接的端口名namelen:名字長度客戶端:#include#include#include#includ

5、e#definePORTNUMBER333#pragmacomment(lib,"ws2_32.lib")#defineQueueLen6intvisits=0;intmain(intargc,char*argv[]){WORDversion;version=MAKEWORD(1,1);WSADATAwsa;if(0!=WSAStartup(version,&wsa)){//初始化socket()printf("WSAStartuperror!");exit(0);}//structhostent*ptrh;struc

6、tsockaddr_inservaddr;structsockaddr_inclientaddr;intlistenfd;intclientfd;intport;intalen;charbuf[1000];memset(&servaddr,0,sizeof(servaddr));//初始化servaddr為0servaddr.sin_family=AF_INET;//主機(jī)地址標(biāo)識的數(shù)據(jù)結(jié)構(gòu),使用TCP/IP協(xié)議servaddr.sin_addr.s_addr=INADDR_ANY;//32位的IP地址,網(wǎng)絡(luò)字節(jié)順序if(argc>1){port=

7、atoi(argv[1]);}else{port=PORTNUMBER;}if(port>0){servaddr.sin_port=htons((unsignedshort)port);//把端口轉(zhuǎn)換成網(wǎng)絡(luò)序}else{fprintf(stderr,"badportnumber%d",argv[1]);exit(0);}listenfd=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);//注冊一個socketdescriptionDWORDerror=GetLastError();if(listenfd<0){f

8、printf(stderr,"socketcreateionfailed!");exit(0);}if(bind(listenfd,

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。