按照陈老师的建议,先要把实验5.5搞懂。服务器
写写实验5.5 TCP通讯实验的原理,其实书上写的有。敲一遍,了解一下。函数
TCP协议全称是传输控制协议。TCP是基于IP数据帧的传输,提供可靠的数据传输服务。TCP有如下特色:spa
面向链接:TCP协议规定,在进行数据传输以前,两个节点必须使用TCP链接的创建过程进行链接,创建链接成功后,再进行数据传输。终止链接也要使用TCP链接中断过程关闭链接。接口
双向传输:在TCP协议中,每个链接都有2个逻辑管道,一收一发。数据能够同时进行收和发,TCP报头包含传出数据和确认数据的序列号。it
可靠传输:TCP协议规定,在传输数据时,要按顺序发送数据,并要获得接收方的确认,没有获得确认的数据将重发,接收方接收到重复包将丢弃,失序包将被还原为正确的序列。TCP校验字提供比特级的完整性校验。原理
数据字节流:在TCP的输入和输出逻辑管道上传输的数据被认为是连续的字节流,TCP报头的序列号和确认号都是以字节为单位肯定的。TCP不知道所传输的字节流的内容是什么,以及在哪里起始,在哪里结束,对字节流数据的分析只能经过应用层的协议进行分析。服务器端
流控制:TCP协议中还规定了数据传输的流量控制,防止堵塞。在数据传输的双方都有接收缓冲区,若是一方接收缓冲区满了,另外一方将再也不发送,直到缓冲区有空余的空间。而双方的接收缓冲区都是独立的,永远也不会溢出。im
应用层数据分段:TCP创建链接时,双方都交换可接收的最大段,若是接收到ICMP的“路径最大传输单位”MTU消息,能自动调整TCP最大短的大小。通信
一对一传输:TCP协议实现一对一通讯服务。数据
SOCKET接口函数是TCP/IP的API,SOCKET API函数从使用的方式来分有三种
通用函数,就是TCP和UDP通讯都使用的函数;
TCP专用函数,就是只是在TCP通讯中使用的函数;
UDP专用函数,就是只在UDP通讯中使用的函数。
编写TCP通讯的任务时分为服务器方式和客户机方式两种。服务器方式是须要接听链接,只有在与客户机创建链接后才能进行数据处理。客户机方式是主动链接服务器,它也是在链接成功后才能进行数据处理。下面是TCP通讯时服务器端和客户机端通讯的函数应用流程图。
服务器端与 客户机端