linux socket 程序被ctrl+c或者异常终止,提示:bind error:Address already in use,解决办法


linux socket 程序被ctrl+c或者异常终止,再次起程序时提示该端口号已被绑定,是以为之前的socket端口没有被正常释放。

所以需要 在bind之前,对setsocketopt做一些设置。

 

在bind之前,添加以下处理即可:

 

 int mw_optval = 1;

 setsockopt(server_sockfd, SOL_SOCKET, SO_REUSEADDR, (char *)&mw_optval,sizeof(mw_optval));

 

或者过段时间,重启都可以解决,但是以上的处理肯定是更加科学。

 

参考:https://blog.csdn.net/matthew0618band/article/details/42123123 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM