消息关闭
    暂无新消息!

Linux Socket Bind :adress already in use

问题作者 : Hardman2017-08-27发布
在网上找了解决方法
设置setsockopt 但还是不行,请问应该怎么解决?

int on = 1;
if((setsockopt(m_hServerSocket, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on))) < 0)
{           
perror("Server setsockopt failed");
exit(1);
}

if((bind(m_hServerSocket, (struct sockaddr *)&m_addr, sizeof(m_addr))) == -1) 
{
perror("Server Bind Failed:");
exit(1);
}



3个回答

︿ 0
这信息不够详细,你可以在关键位置增加几条打印语句,看执行到哪里。
端口占用问题,建议用netstat查看当前端口被哪个程序占用,如果你打开了但程序没正常退出,也可能被你自己程序占用了。
︿ 0
段錯誤你就衹好增加調試信息了,建議用gdb。一般這都是内存不當使用引起。