如何解決程式退出重啟後不能繫結埠的問題?

2022-03-29 02:37:35 字數 385 閱讀 6858

發現問題:

在linux系統中,如果乙個socket繫結了某個埠,該socket正常關閉或程式退出後,在一段時間內該埠依然保持被繫結的狀態,其他程式(或者重新啟動的原程式)無法繫結該埠。

解決方案:

可以在獲得socket描述符之後通過呼叫setsockopt語句避免該問題:

int sockfd;

int opt = 1;

int len = sizeof(opt);

sockfd = socket(af_inet, sock_stream, 0);

setsockopt(sockfd, sol_socket, so_reuseaddr, &opt, len);

如何解決ubuntu重啟後dns服務消失問題

ubuntu重啟後 etc resolv.conf中的dns會消失,給我們遠端服務造成很 煩.cat etc resolv.conf會發現一段警告說這個檔案是resolvconf程式動態建立的,不要直接手動編輯,修改將被覆蓋。方法一 此方法只適合新增一條dns sudo vi etc network...

讓程式異常退出後自動重啟

程式 freeeim.exe 遇到問題異常退出,是否重啟?類似的情況我們似乎碰見過,很多程式都有這個功能 這是怎麼實現的呢?經 過一番努力,在msdn找到了setunhandledexceptionfilter函式,利用它,可以實現這個功能。其實這個過程叫做seh structured except...

ThinkPHP驗證碼不能顯示如何解決

thinkphp自帶驗證碼的函式類,存放路徑為 thinkphp lib org util 驗證碼類 使用的時候只需在index控制器中引入,方法如下 public function verify 在模板頁面中呼叫方法如下 if session verify md5 post verify thin...