TCPUDP通信实验报告

TCPUDP通信实验报告

ID:46628280

大小:49.00 KB

页数:8页

时间:2019-11-26

TCPUDP通信实验报告_第1页
TCPUDP通信实验报告_第2页
TCPUDP通信实验报告_第3页
TCPUDP通信实验报告_第4页
TCPUDP通信实验报告_第5页
资源描述:

《TCPUDP通信实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、TCP/UDP通信实验报告学号:姓名:实验二:TCP/UDP通信实验报告一、实验目的熟练掌握UDP、TCPClient/Server模式的通信原理。二、实验内容传输控制协议(TransportControlProtocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP通过数据分段(Segment)中的序列号保证所

2、有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过TCP传输数据,必须在两端主机之间建立连接。举例说明,TCP客户端需要和TCP服务端建立连接,过程如图12-1所示。图12-1TCP客户端与服务端连接过程①、第一步中,客户端向服务端提出连接请求。这时TCPSYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在②、第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分

3、段(ACK标志置位)。③、在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。根据以上内容编写一个TCPClient/Server模式的通信程序。事实上网络程序是由两个部分组成的--客户端和服务器端。它们的建立步骤如下:服务器端:socket-->bind-->listen-->accept客户端:socket-->connect。三、实验步骤实验按下述步骤进行:(1)编写UDP、TCPClient/Server模式的通信程序;(2)调

4、试并运行自己编写的实现程序;(3)了解TCPClient/Server模式的工作原理,比较二者的不同,如出现异常情况,在实验报告中写出原因分析;(4)保留编写的实现程序在你的用户目录下,以备辅导教师检查。四、实验代码/*UDP*//**客户端的工作流程:首先调用socket函数创建一个Socket,填写服务器地址及端口号,*从标准输入设备中取得字符串,将字符串传送给服务器端,并接收服务器端返回的字*符串。最后关闭该socket。*Author:xiaopeng01121435*Date:2015/05/

5、16*/#include#include#include#include#include#include#include//定义端口号#definePORT5432intmain(intargc,char**argv){intcli_sockfd;socklen_taddrlen;charseraddr[14];structsockaddr_inc

6、li_addr;charbuffer[256];intlen;if(argc!=2){//为输入IP地址作为参数的时候提示使用方法printf("使用方法:./client ");exit(0);}/*建立socket*/cli_sockfd=socket(AF_INET,SOCK_DGRAM,0);if(cli_sockfd<0){printf("创建socket失败!");return1;}/*填写sockaddr_in*/addrlen=sizeof(structsockaddr_in);

7、bzero(&cli_addr,addrlen);cli_addr.sin_family=AF_INET;//cli_addr.sin_addr.s_addr=htonl(INADDR_ANY);cli_addr.sin_port=htons(PORT);if(inet_pton(AF_INET,argv[1],&cli_addr.sin_addr)<=0){printf("ip地址转换失败,IP:%s!",argv[1]);exit(0);}bzero(buffer,sizeof(buffer))

8、;/*从标准输入设备取得字符串*/printf("请输入要发送的消息:");fgets(buffer,256,stdin);/*将字符串传送给server端*/fer),0,(structsockaddr*)&cli_addr,addrlen);printf("消息已发出!等待服务器的响应...");/*接收server端返回的字符串*/len=recvfrom(cli_sockfd,buffer,sizeof(buffer),0,

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

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

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