- 四次挥手:
- 为什么⑥和⑦不一起发?
- 因为⑦需要服务器close客户端的套接字,但不是及时的,为了保证响应及时,就需要⑥比⑦早发
- 为什么是客户端先发送关闭请求(close())?
- 按图上所示,第一个发送close()的一边会在最后等待一段时间来接收对面的可能有的seq,因为客户端发起connect无需绑定端口,所以客户端可以随便等待
- 如果是服务器先发关闭请求(close()),那么最后需要等待一段时间,那么此时该端口是无法使用的。会导致客户端连接服务器出问题。如果使用,那么需要复用该地址
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 一开始的套接字 server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 复用地址
- 为什么⑥和⑦不一起发?
相关文章:
- TCP三次握手和四次挥手 2019-06-15
- TCP三次握手与四次挥手 2019-12-24
- TCP/IP三次握手四次挥手 2021-11-19
- TCP/IP 三次握手四次挥手 2021-12-30