UDPTCP通信实验.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UDPTCP通信实验

计算机通信网络实验UDP/TCP通信实验 学院: 班级: 学号: 姓名: 2012年11月6日实验目的熟练掌握UDP、TCP Client/Server模式的通信原理实验内容传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过TCP传输数据,必须在两端主机之间建立连接。举例说明,TCP客户端需要和TCP服务端建立连接,过程如图所示:第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。根据以上内容编写一个TCP Client/Server模式的通信程序。事实上网络程序是由两个部分组成:客户端、服务器端它们的建立步骤如下:服务器端 socket--bind--listen--accept客户端 socket--connect实验步骤编写UDP、TCP Client/Server模式的通信程序;调试并运行自己编写的实现程序;了解TCP Client/Server模式的工作原理,比较二者的不同,如出现异常情况,在实验报告中写出原因分析;保留编写的实现程序。实验过程TCP Client/Server模式的通信程序服务器端操作 socket(套接字): 1.在初始化阶段调用WSAStartup()  2、建立Socket 3、绑定端口 4、监听5、服务器端接受客户端的连接请求6、发送及接收信息 7、结束 socket 连接相应的程序://*********************** server.c ************************#includewinsock.h //WINSOCK API的头文件,需要包含在项目中#pragma comment(lib,ws2_32.lib) //WINSOCK API连接库文件#includestdio.h#includestring.hvoid main(){WORD wVersionRequested; WSADATA wsaData; int err; int len; char recvBuf[50]; char sendBuf[50]; SOCKET sockSrv; //用于服务器监听的Socket SOCKADDR_IN addrSrv; //存放服务端套接字信息 SOCKADDR_IN addrClient; //存放连接上的客户端套接字信息SOCKET new_sock; //用于连接后新的socket//************************ 初始化阶段 ******************* wVersionRequested = MAKEWORD( 1, 1 ); //WinSocket1.1版本 err = WSAStartup( wVersionRequested, wsaData ); //此函数在应用程序中初始化Windows Sockets DLL ,只有此函数调用成功后,才可以再调用其他Windows Sockets DLL中的API函数 //wsaData用来存储系统传回的关于WinSocket的资料 if ( err != 0 ) { //err=0就表示初始化成功 return;} if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {WSACleanup( ); return;}//************************ 建立socket ******************** sockSrv=socket(AF_INET,SOCK_STREAM,0);//调用Socket()函数在服务器建立监听的Socket,并定义此Socket所使用的通信协议。//指定地址描述为AF_INET//指定socket类型为SOCK_STREAM,建立的是遵从TCP

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档