1
我正在編寫一個客戶機 - 服務器系統,其中使用了非阻塞式套接字。我的問題是在執行數據傳輸時可能發生的send()或write()}時檢測錯誤{。示例可以說,在傳輸數據的同時,對端崩潰。另一種情況是有一些網絡問題,像拔掉電線等。在非阻塞式套接字中檢測I/O錯誤
截至目前,我正在使用高級別的ACK,對方在收到完整數據後發送。
Ripunjay特里帕西
我正在編寫一個客戶機 - 服務器系統,其中使用了非阻塞式套接字。我的問題是在執行數據傳輸時可能發生的send()或write()}時檢測錯誤{。示例可以說,在傳輸數據的同時,對端崩潰。另一種情況是有一些網絡問題,像拔掉電線等。在非阻塞式套接字中檢測I/O錯誤
截至目前,我正在使用高級別的ACK,對方在收到完整數據後發送。
Ripunjay特里帕西
因爲有您的應用程序和網卡之間的套接字發送緩衝區有可能是事件和通知之間的延遲,但最終你會得到寫作時一個「連接復位」的條件。
是的,我明白了。其實我正在向同行發送「消息」。假設套接字在聲明CONNECTION LOST之前進入某種等待狀態,並且我繼續向對等方發送不同的消息,它們將一直保存在發送緩衝區中,並最終在某些寫入時發生錯誤( ),我怎麼知道有多少消息實際上失敗了? – 2010-05-01 07:43:55
唯一的方法是要求對方確認收到的每封郵件。 – 2010-05-01 10:03:33