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