socket结束后如何立刻释放端口

来源:互联网 发布:手机端淘宝链接转化 编辑:程序博客网 时间:2024/06/10 13:40

结束一个应用之后,用netstat查看应用启动的socket端口还在TIME_WAIT状态。

也可以用  lsof -i:端口号查看端口被哪个进程占用。

原因是

正常情况下:TCP断开连接的4次挥手中处于TIME_WAIT方需要等待一段时间,已防止最后的ACK分解丢失,这样导致服务器端的端口也仍然处于使用中。

解决方法:

设置setsockopt的SO_REUSEADDR选项,就可以避开了这个限制,使得端口关闭后,服务器程序能立即重启。

0 0
原创粉丝点击