实验9--网络编程-tcp

实验9--网络编程-tcp

ID:25446760

大小:213.00 KB

页数:13页

时间:2018-11-20

实验9--网络编程-tcp_第1页
实验9--网络编程-tcp_第2页
实验9--网络编程-tcp_第3页
实验9--网络编程-tcp_第4页
实验9--网络编程-tcp_第5页
资源描述:

《实验9--网络编程-tcp》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验3-1网络编程-TCPl实验目的:1、理解网络编程的原理2、掌握TCPsocket的使用流程3、掌握select多路复用技术l实验要求:熟练使用该节所介绍网络编程API相关函数的使用方法。l实验器材:软件:1.安装了Ubunt的vmware虚拟机硬件:PC机一台l实验步骤:1、首先配置Ubunt的网络,使其与Window的IP地址在同一网段。网络配置方法如下:修改配置文件sudovi/etc/network/interfaces修改如下:autoloifaceloinetloopbackautoeth0#ifaceeth0inetstatic#address192.168.X.X//修

2、改IP地址为WindowsIP地址+100#gateway192.168.X.X//修改为Window的网关#netmask255.255.255.0重启网络管理器sudoservicenetwork-managerrestart重启网络服务:sudo/etc/init.d/networkingforce-reload==>重新加载网路配置文件sudo/etc/init.d/networkingrestart根据所学的TCP协议,服务器端和客户端进行通信的创建流程,实现客户端发送据到服务器端,服务器端接收数据。并将服务器端程序和客户端程序在两台电脑上进行运行演示。服务器端的创建流程为:各个

3、函数的使用方法参考实验文件夹下的《嵌入式Linux网络编程.pdf》。下面代码是设置socket可重绑定://SetSockoptintsinsize=1;intret=setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&sinsize,sizeof(int));if(ret!=0){perror("Setsockoptfail!");exit-1;}server.c的参考代码如下:#include1、修改上题代码用线程实现客户端和服务器端可以重复收发数据,模拟聊天。其中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]='';printf("recivefromclientis:%s",buf);}}intmain(){charbuf[10]="hello";//bzero(buf,10);intsockfd=socket(AF_INET,SOCK_STREAM,0);if(sockfd<0){perror("socketfail");return-1;}//SetSockoptintsinsize=1;intret=setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&si

6、nsize,sizeof(int));if(ret!=0){perror("Setsockoptfail!");exit-1;}structsockaddr_ins;memset(&s,0,sizeof(s));s.sin_family=AF_INET;s.sin_port=htons(6000);s.sin_addr.s_addr=inet_addr("192.168.0.101");//要求大端模式的端口号和IP地址intbi=bind(sockfd,(structsockaddr*)&s,sizeof(structsockaddr));if(bi<0){perror("bindf

7、ail");}listen(sockfd,5);structsockaddr_inc;intsize=sizeof(structsockaddr);intnewsockfd=accept(sockfd,(structsockaddr*)&c,&size);/**********************************创建线程*******************************************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。