编程基础知识

来源:互联网 发布:电脑能看淘宝直播吗 编辑:程序博客网 时间:2024/05/16 12:13

1.TCP协议中的三次握手和四次挥手

(TCP连接时全双工的,每个方向都必须单向进行关闭)

关闭连接时可能有数据还需要传递,所以需要四次挥手.而建立连接就没有此过程.

三次握手:


client发送连接请求报文,server接受连接后回复ACK报文,并为此连接分配资源.

client收到ACK报文后,向server发出ACK报文,并为此连接分配资源.这样TCP连接就建立了.

四次挥手:

client发起中断连接请求,就是发送FIN报文(client已经没有数据要发送,server可以关闭socket,也可以继续发送数据).
server收到FIN报文后发出ACK(告诉client,你的请求我收到了,但是我没有准备好,请继续等我消息),client进入FIN_WAIT状态继续等待server端的FIN报文.
当server端确认数据已经发送完毕后,向client发送FIN报文(我这边的数据已经发送完成,准备关闭连接).
client收到FIN报文后,向server发送ACK后进入TIME_WAIT状态,server收到ACK后就知道可以断开连接.client等待2sml后没有收到回复就证明server已经关闭连接,client也可以关闭连接.

0 0
原创粉丝点击