运行编写的TCP服务器时,当关闭后立马再次运行时,通常会弹出这个错误。这是因为此段时间处于TCP的第三次挥手结束,客户端处于TIME_WAIT阶段,这个阶段一般为2min,此时服务器的端口依然被占用,不能被使用。必须等待时间结束后才可以再次打开服务器运行。 如果不想等待的话,可以在服务器的源代码中创建套接字socket时再增加一段代码即可,如下双引号内部的代码
“tcp_server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)”。
本文解析了TCP服务器关闭后立即重启时遇到的端口占用错误,详细说明了TIME_WAIT状态的原因及解决方法,通过在服务器源代码中添加特定代码实现端口的快速复用。
395

被折叠的 条评论
为什么被折叠?



