当前位置: 技术问答>linux和unix
程序异常之后需要等待x秒才可以再次启动监听端口?
来源: 互联网 发布时间:2015-12-13
本文导语: 程序异常之后需要等待x秒才可以再次启动监听端口? 现象:当Linux的程序有异常推出之后,都需要等待x秒,FIN_WAIT1(有时候是其他状态)才可以启动监听成功。 不知道为什么。 netstat -an | grep 结果如下 tcp ...
程序异常之后需要等待x秒才可以再次启动监听端口?
现象:当Linux的程序有异常推出之后,都需要等待x秒,FIN_WAIT1(有时候是其他状态)才可以启动监听成功。
不知道为什么。
netstat -an | grep 结果如下
tcp 0 41 1.1.1.1:1 2.2.2.2:2 FIN_WAIT1
一直到等到这行消失为止,才可以再次启动监听成功。
如何才可以解决此问题啊?
现象:当Linux的程序有异常推出之后,都需要等待x秒,FIN_WAIT1(有时候是其他状态)才可以启动监听成功。
不知道为什么。
netstat -an | grep 结果如下
tcp 0 41 1.1.1.1:1 2.2.2.2:2 FIN_WAIT1
一直到等到这行消失为止,才可以再次启动监听成功。
如何才可以解决此问题啊?
|
设置套接口属性:SO_REUSEADDR.设置该socket绑定的端口可以被重用
int opt;
opt = 1;
len = sizeof(opt);
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, &len);
int opt;
opt = 1;
len = sizeof(opt);
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, &len);