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