實(shí)驗(yàn)9--網(wǎng)絡(luò)編程-tcp

實(shí)驗(yàn)9--網(wǎng)絡(luò)編程-tcp

ID:25446760

大?。?13.00 KB

頁(yè)數(shù):13頁(yè)

時(shí)間:2018-11-20

實(shí)驗(yàn)9--網(wǎng)絡(luò)編程-tcp_第1頁(yè)
實(shí)驗(yàn)9--網(wǎng)絡(luò)編程-tcp_第2頁(yè)
實(shí)驗(yàn)9--網(wǎng)絡(luò)編程-tcp_第3頁(yè)
實(shí)驗(yàn)9--網(wǎng)絡(luò)編程-tcp_第4頁(yè)
實(shí)驗(yàn)9--網(wǎng)絡(luò)編程-tcp_第5頁(yè)
資源描述:

《實(shí)驗(yàn)9--網(wǎng)絡(luò)編程-tcp》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、實(shí)驗(yàn)3-1網(wǎng)絡(luò)編程-TCPl實(shí)驗(yàn)?zāi)康模?、理解網(wǎng)絡(luò)編程的原理2、掌握TCPsocket的使用流程3、掌握select多路復(fù)用技術(shù)l實(shí)驗(yàn)要求:熟練使用該節(jié)所介紹網(wǎng)絡(luò)編程API相關(guān)函數(shù)的使用方法。l實(shí)驗(yàn)器材:軟件:1.安裝了Ubunt的vmware虛擬機(jī)硬件:PC機(jī)一臺(tái)l實(shí)驗(yàn)步驟:1、首先配置Ubunt的網(wǎng)絡(luò),使其與Window的IP地址在同一網(wǎng)段。網(wǎng)絡(luò)配置方法如下:修改配置文件sudovi/etc/network/interfaces修改如下:autoloifaceloinetloopbackautoeth0#ifaceeth0inetstatic#address192.168.X.X//修

2、改IP地址為WindowsIP地址+100#gateway192.168.X.X//修改為Window的網(wǎng)關(guān)#netmask255.255.255.0重啟網(wǎng)絡(luò)管理器sudoservicenetwork-managerrestart重啟網(wǎng)絡(luò)服務(wù):sudo/etc/init.d/networkingforce-reload==>重新加載網(wǎng)路配置文件sudo/etc/init.d/networkingrestart根據(jù)所學(xué)的TCP協(xié)議,服務(wù)器端和客戶端進(jìn)行通信的創(chuàng)建流程,實(shí)現(xiàn)客戶端發(fā)送據(jù)到服務(wù)器端,服務(wù)器端接收數(shù)據(jù)。并將服務(wù)器端程序和客戶端程序在兩臺(tái)電腦上進(jìn)行運(yùn)行演示。服務(wù)器端的創(chuàng)建流程為:各個(gè)

3、函數(shù)的使用方法參考實(shí)驗(yàn)文件夾下的《嵌入式Linux網(wǎng)絡(luò)編程.pdf》。下面代碼是設(shè)置socket可重綁定://SetSockoptintsinsize=1;intret=setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&sinsize,sizeof(int));if(ret!=0){perror("Setsockoptfail!");exit-1;}server.c的參考代碼如下:#include1、修改上題代碼用線程實(shí)現(xiàn)客戶端和服務(wù)器端可以重復(fù)收發(fā)數(shù)據(jù),模擬聊天。其中server.c的參考代碼如下:#include

4、/types.h>#include#include#include#include#include#include#include#include#definePORT6000#defineSERVER_IP"192.168.0.101"void*routine(void*arg){intnewsockfd=*(int*)arg;charbuf[10];while(1){bzero(buf,10);intsiz

5、e=recv(newsockfd,buf,sizeof(buf),0);buf[size]='