代码改变世界

SO_REUSEADDR

2015-07-11 15:20  哦万里云  阅读(187)  评论(0编辑  收藏  举报

问题:Linux的服务器程序,关闭后马上启动,经常报错,说是端口已经被占用,不过稍等一会儿就可以启动了。

原来我们在调用closesocket把已绑定端口的socket关闭时,这个socket并没有立即消失,而进入了TIME_WAIT状态。

解决方法:

setsockopt(....,SO_REUSEADDR,.....)