首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

怎么清楚linux系统中以退出程序的socket连接

2012-02-27 
如何清楚linux系统中以退出程序的socket连接?程序退出时,没有正常关闭socket,linux系统会保持socket的连接

如何清楚linux系统中以退出程序的socket连接?
程序退出时,没有正常关闭socket,linux系统会保持socket的连接状态很长时间,这时在运行同样的程序,就会服务端报错“Address   already   is   use”或客户端“Connection   refused”。这样测试起来很不方便,有没有办法可以让linux系统的这种状态立即消失?

[解决办法]
// set socket
int opt = 1,;;
unsigned int optlen = sizeof(opt);
if(setsockopt(m_sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, optlen) == -1)
{
perror( "setsockopt reuseaddr ");
return -1;
}
else
{
printf( "Setsockopt reuseaddr... OK\n ");
}

热点排行