本文主要是介绍linux socket 释放时间 so_reuseaddr,socket中的SO_REUSEADDR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
socket中的SO_REUSEADDR
(2008-05-14 14:42:09)
标签:
杂谈
Q: 我正在写一个unix
server程序,不是daemon,经常需要在命令行上重启它,绝大多数时候工作正常,但是某些时候会报告"bind:
address in use",于是重启失败。
A: Andrew Gierth
server程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。至于TIME_WAIT状态,你无法避免,那是TCP协议的一部分。
Q: 如何避免等待60秒之后才能重启服务
A: Erik Max Francis
使用setsockopt,比如
--------------------------------------------------------------------------
int option = 1;
if (setsockopt ( masterSocket, SOL_SOCKET, SO_REUSEADDR,
&option, sizeof(option) ) < 0)
{
die( "setsockopt" );
}
--------------------------------------
这篇关于linux socket 释放时间 so_reuseaddr,socket中的SO_REUSEADDR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!