2012-05-25 77 views
2

我試圖使我的程序對網絡斷開有效。現在,如果我從操作系統禁用以太網網絡(我是通過Ubuntu 11.10,但我猜這應該不重要),一旦網絡再次啓用,一切順利,我的套接字就會恢復。拔出以太網電纜和禁用以太網網絡與操作系統之間的區別

由於現在我已經假設這個測試和拔掉以太網電纜一樣。但事實並非如此,因爲我的程序在執行此操作時突然終止。

我想知道這兩種情況之間有什麼區別,以及如何檢測它們。我使用的是Qt和C++的QTcpSockets。

此外,當wifi不再被檢測到時,我想這相當於拔掉以太網電纜,而在OS上禁用它相當於禁用以太網。我對嗎?

+0

請告訴我們你到目前爲止如何處理斷開連接(甚至僞代碼會很好)。 –

+0

一般來說,如果你有一個客戶端,並得到一個錯誤(不管是什麼),你應該嘗試重新連接。 –

+0

當然,我嘗試重新連接每個我得到的錯誤。如果我的程序崩潰了,它一定是由於我試圖訪問某些變量設置爲空。但我想知道的是這兩種情況之間的區別 –

回答

0

當驅動程序啓用時,這意味着有一個程序在操作系統狗舍運行,管理不同的場景。例如,在電纜斷開的情況下,鏈路斷開。並進入低功耗模式。 禁用驅動程序時,設備上可能有固件可以管理設備,或者設備將關閉。