2010年3月15日星期一

关于SO_REUSEADDR的使用说明(转)

转:http://blog.csdn.net/liusujian02/archive/2007/12/18/1944520.aspx
关于SO_REUSEADDR的使用说明
参考WINDOWS 网络编程技术

1. 可以对一个端口进行多次绑定,一般这个是不支持使用的;
2. 对于监听套接字,比较特殊。如果你定义了SO_REUSEADDR,并且让两个套接字在同一个端口上进行接听,那么对于由谁来ACCEPT,就会出现歧义。如果你定义个SO_REUSEADDR,只定义一个套接字在一个端口上进行监听,如果服务器出现意外而导致没有将这个端口释放,那么服务器重新启动后,你还可以用这个端口,因为你已经规定可以重用了,如果你没定义的话,你就会得到提示,ADDR已在使用中。

我用在多播的时候,也经常使用SO_REUSEADDR,也是为了防止机器出现意外,导致端口没有释放,而使重启后的绑定失败~

我的总结:防止服务器在发生意外时,端口未被释放~可以重新使用~

没有评论: