77范文网 - 专业文章范例文档资料分享平台

TCPUDP通信实验报告

来源:网络收集 时间:2020-05-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

TCP/UDP 通信实验报告

学号: 姓名:

实验二:TCP/UDP通信实验报告

一、实验目的

熟练掌握 UDP、TCP Client/Server 模式的通信原理。 二、实验内容

传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的 TCP 传输需要通过在 TCP 客户端和 TCP 服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP 通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过 TCP 传输数据,必须在两端主机之间建立连接。举例说明,TCP 客户端需要和 TCP 服务端建立连接,过程如图 12-1 所示。

图 12-1 TCP 客户端与服务端连接过程

①、第一步中,客户端向服务端提出连接请求。这时 TCP SYN 标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在 TCP 报头的序列号区中插入自己的 ISN。服务端收到该 TCP 分段后,在

②、第二步以自己的 ISN 回应(SYN 标志置位),同时确认收到客户端的第一个 TCP 分段(ACK 标志置位)。

③、在第三步中,客户端确认收到服务端的 ISN(ACK 标志置位)。到此为止建立完整的 TCP 连接,开始全双工模式的数据传输过程。

根据以上内容编写一个 TCP Client/Server 模式的通信程序。事实上网络程序是由两个部分组成的--客户端和服务器端。它们的建立步骤如下: 服务器端:

socket-->bind-->listen-->accept 客户端: socket-->connect。 三、实验步骤 实验按下述步骤进行:

(1)编写UDP、TCP Client/Server模式的通信程序; (2)调试并运行自己编写的实现程序;

(3)了解TCP Client/Server模式的工作原理,比较二者的不同,如

出现异常情况,在实验报告中写出原因分析;

(4)保留编写的实现程序在你的用户目录下,以备辅导教师检查。 四、实验代码

/*UDP*/ /*

*客户端的工作流程:首先调用socket函数创建一个Socket,填写服务器地址及端口号,

*从标准输入设备中取得字符串,将字符串传送给服务器端,并接收服务器端返回的字

*符串。最后关闭该socket。 *Author:xiaopeng 01121435 *Date:2015/05/16 */

#include #include #include #include #include #include #include

//定义端口号 #define PORT 5432

int main(int argc,char **argv) {

int cli_sockfd; socklen_t addrlen; char seraddr[14];

struct sockaddr_in cli_addr; char buffer[256]; int len;

if( argc != 2){

//为输入IP地址作为参数的时候提示使用方法 printf(\使用方法: ./client \\n\exit(0); }

/* 建立socket*/

cli_sockfd=socket(AF_INET,SOCK_DGRAM,0); if(cli_sockfd<0) {

printf(\创建socket失败!\\n\return 1; }

/* 填写sockaddr_in*/

addrlen=sizeof(struct sockaddr_in); 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: %s!\\n\exit(0); }

bzero(buffer,sizeof(buffer)); /* 从标准输入设备取得字符串*/ printf(\请输入要发送的消息:\\n\fgets(buffer, 256, stdin); /* 将字符串传送给server端*/

fer),0,(struct sockaddr*)&cli_addr,addrlen);

printf(\消息已发出!等待服务器的响应...\\n\/* 接收server端返回的字符串*/

len=recvfrom(cli_sockfd,buffer,sizeof(buffer),0,(struct sockaddr*)&cli_addr,&addrlen);

//printf(\printf(\从服务器收到: %s\

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库TCPUDP通信实验报告在线全文阅读。

TCPUDP通信实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1025540.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: