我正在編寫一個簡單的程序,該程序將多個連接連接到不同的服務器以進行狀態檢查。所有這些連接都是按需構建的;最多可以同時創建10個連接。我不喜歡“每個套接字一個線程”的想法,因此我將所有這些客戶端套接字都設置為“非阻塞”,然后將其放入select()池中。效果很好,直到我的客戶抱怨目標服務器停止響應時,等待時間太長才能獲得錯誤報告。我已經在論壇中檢查了幾個主題。有人建議可以使用alarm()信號或在select()函數調用中設置超時。但是我正在處理多個連接,而不是一個。當發生進程范圍的超時信號時,我無法在所有其他連接中區分超時連接。無論如何,有沒有改變系統默認的超時時間?
- 3 回答
- 0 關注
- 483 瀏覽
添加回答
舉報
0/150
提交
取消