色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > 網絡編程實驗一-TCP通信

網絡編程實驗一-TCP通信 時間:2018-07-30      來源:未知

網絡通信實驗

1.1 TCP通信

【實驗目的】

熟練掌握tcp服務器與客戶端的搭建以及tcp通信的特點。

【實驗內容】

本實驗通過一個簡單的tcp服務器端,接收客戶端的連接請求,并發送歡迎信息。

【實驗內容】

服務器程序代碼:

#include

#include /* See NOTES */

#include

#include

#include

#include

#include

#define backlog 1024

int main(void)

{

int listenfd;

int ret;

struct sockaddr_in addr;

bzero(&addr,sizeof(addr));

addr.sin_family=PF_INET;

addr.sin_port = htons(8888);

addr.sin_addr.s_addr = inet_addr("127.0.0.1");

listenfd = socket(PF_INET,SOCK_STREAM,0);

if(listenfd==-1)

{

perror("socket");

exit(EXIT_FAILURE);

}

ret = bind(listenfd, (struct sockaddr *)&addr,sizeof(addr));

if(ret==-1)

{

perror("bind");

exit(EXIT_FAILURE);

}

listen(listenfd,backlog);

int connfd = accept(listenfd,NULL,NULL);

printf("connect a client !\n");

char buf[1024];

while(1)

{

// usleep(10);

bzero(buf,sizeof(buf));

ret = recv(connfd,buf,sizeof(buf),0);

if(ret ==-1)

{

perror("recv");

exit(EXIT_FAILURE);

}

else if(ret == 0)

{

printf("client quit\n");

break;

}

else

{

printf("recv %d bytes,buf is %s\n",ret,buf);

}

}

close(connfd);

close(listenfd);

return 0;

}

客戶端程序代碼:

#include

#include /* See NOTES */

#include

#include

#include

#include

#include

#include

int main(void)

{

int client_fd;

int ret;

client_fd = socket(PF_INET,SOCK_STREAM,0);

if(client_fd == -1)

{

perror("socket");

exit(EXIT_FAILURE);

}

struct sockaddr_in sevaddr;

sevaddr.sin_family = PF_INET;

sevaddr.sin_port = htons(8888);

sevaddr.sin_addr.s_addr = inet_addr("127.0.0.1");

ret = connect(client_fd,(struct sockaddr *)&sevaddr,sizeof(sevaddr));

if(ret ==-1)

{

perror("connect");

exit(EXIT_FAILURE);

}

char buf[1024];

strcpy(buf,"hello");

int i;

for(i=0;i<20;i++)

{

send(client_fd,"world",5,0);

send(client_fd,"hello",5,0);

}

close(client_fd);

return 0;

}

【實驗步驟】

1. 編譯后運行服務器程序與客戶端程序,查看結果

2. 修改服務器程序,解開注釋(// usleep(10)) 編譯后運行,試分析結果,

3. 對于粘包問題,如何解決。

4. 思考題:tcp客戶端一次發送40960字節。tcp服務器端一次能接受完嗎?發送較大數據的時候應該注意什么問題。

發送大文件時:

1.先發文件大小

2.再發文件數據

上一篇:sqlite3數據庫常用指令及函數接口介紹

下一篇:c++運算符重載學習總結

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 国产熟妇勾子乱视频 | 五月天国产成人av免费观看 | 国产精品无打码在线播放 | 亚洲欧美高清一区二区三区 | 黑森林精品AV导航 | 波多野结衣中文字幕免费视频 | 少妇小莹的yin荡生活下视频 | 中文字幕二十三页2 | 中文无码高潮到痉挛在线视频 | 激情文学小说区另类小说 | 日日操让人人看 | 天堂在线.www天堂在线资源 | 美女裸体黄污18禁网站 | 麻豆一区产品精品蜜桃的广告语 | 绝美人妻被夫前侵犯 | 一卡二卡三卡免费看 | 怀孕挺大肚子疯狂高潮AV毛片 | 色偷偷亚洲男人本色 | 久久久久久人妻一区二区三区 | 99热精品久久只有精品 | 凸凹人妻人人澡人人添 | 久久激情日本亚洲欧洲国产中文 | 男人扒开女人腿桶到爽免费 | 亚洲成A人片在线观看无码3D | 卡通动漫亚洲综合 | 中文无码天天AV天天爽 | 一卡二卡三卡免费看 | 国产色情理论在线观看视频 | 亚洲中文在线精品国产 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲熟妇无码一区二区三区 | 一边摸一边做爽的视频17国产 | 国产精品人妻99一区二区三区 | 把腿张开老子CAO烂你动态图 | 欧美最猛性xxxxx69 | 色插图午夜影院 | 国产一级一级一级 | 色偷拍 自怕 亚洲 10p | 美脚丝袜一区二区三区在线观看 | 免费AA片少妇人AA片 | jizz大全日本护士喷奶水 |