糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > tcp每次发送数据都要三次握手吗 – java – 前端

tcp每次发送数据都要三次握手吗 – java – 前端

时间:2019-08-31 22:40:28

相关推荐

tcp每次发送数据都要三次握手吗 – java – 前端

tcp每次发送数据都要三次握手!

假设A就是客户程序,B就是TCP服务器程序

第一次握手:A的TCP客户端给服务器端TCP会发送一个特殊的TCP数据段,其是不包含应用层数据的,单它需要一个数据段头部的一个标记字段,SYN=1(该信号是指请求和服务器端计算机的序号同步),并会发送一个初始顺序号。

第二次握手:B收到A的连接请求报文后,如果同意就会向A回复确认信息。SYN依旧为1,此事确认信息seq+1(意思应该是偶收到了,偶确认了你的初始序号),并且发送自己的序列号seq=y(sever_isn)。这时也是不允许携带应用层数据的。(虽然被授予连接了,但是没有获得服务器的允许连接分配缓冲区和变量)

第三次握手:A收到B的回复,允许连接数据后发送回复确认ACK置1,ack=y+1,自己为seq=x+1(不携带信息,不消耗序列号,自己本身不用确认,序列号不变)。客服也会给连接分配缓冲区合和变量,其次因为连接已经建立,所以SYN=0。

如果觉得《tcp每次发送数据都要三次握手吗 – java – 前端》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。