- 四次挥手:
- 为什么⑥和⑦不一起发?
- 因为⑦需要服务器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 三次握手 四次挥手
最新推荐文章于 2023-10-08 09:45:00 发布