欢迎来到天天文库
浏览记录
ID:47102543
大小:635.27 KB
页数:14页
时间:2019-08-03
《UDPTCP通信实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机通信网络实验UDP/TCP通信实验学院:班级:学号:姓名:2012年11月6日一、实验目的熟练掌握UDP、TCPClient/Server模式的通信原理二、实验内容传输控制协议(TransportControlProtocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输
2、的完整性。要通过TCP传输数据,必须在两端主机之间建立连接。举例说明,TCP客户端需要和TCP服务端建立连接,过程如图所示:第一步中,客户端向服务端提出连接请求。这时TCPSYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。根据以上内容编写一个TCPClient/Server模式的通信
3、程序。事实上网络程序是由两个部分组成:客户端、服务器端它们的建立步骤如下:服务器端socket-->bind-->listen-->accept客户端socket-->connect三、实验步骤1.编写UDP、TCPClient/Server模式的通信程序;2.调试并运行自己编写的实现程序;1.了解TCPClient/Server模式的工作原理,比较二者的不同,如出现异常情况,在实验报告中写出原因分析;2.保留编写的实现程序。一、实验过程1.TCPClient/Server模式的通信程序服务器端操作socket(套接字): 1.在初始化阶段调用WSAStartup() 2、建立S
4、ocket 3、绑定端口 4、监听5、服务器端接受客户端的连接请求6、发送及接收信息 7、结束socket连接相应的程序://***********************server.c************************#include//WINSOCKAPI的头文件,需要包含在项目中#pragmacomment(lib,"ws2_32.lib")//WINSOCKAPI连接库文件#include#includevoidmain(){WORDwVersionRequested;WSADATAwsaDa
5、ta;interr;intlen;charrecvBuf[50];charsendBuf[50];SOCKETsockSrv;//用于服务器监听的SocketSOCKADDR_INaddrSrv;//存放服务端套接字信息SOCKADDR_INaddrClient;//存放连接上的客户端套接字信息SOCKETnew_sock;//用于连接后新的socket//************************初始化阶段*******************wVersionRequested=MAKEWORD(1,1);//WinSocket1.1版本err=WSAStartup(wVe
6、rsionRequested,&wsaData);//此函数在应用程序中初始化WindowsSocketsDLL,只有此函数调用成功后,才可以再调用其他WindowsSocketsDLL中的API函数//wsaData用来存储系统传回的关于WinSocket的资料if(err!=0){//err=0就表示初始化成功return;}if(LOBYTE(wsaData.wVersion)!=1
7、
8、HIBYTE(wsaData.wVersion)!=1){WSACleanup();return;}//************************建立socket************
9、********sockSrv=socket(AF_INET,SOCK_STREAM,0);//调用Socket()函数在服务器建立监听的Socket,并定义此Socket所使用的通信协议。//指定地址描述为AF_INET//指定socket类型为SOCK_STREAM,建立的是遵从TCP/IP协议的socketif(sockSrv==-1)return;//错误检查//************************绑定端口*********************
此文档下载收益归作者所有