在一個C++應用程序中(我沒有寫)它使用網絡連接。 在一個循環中,它總是檢查連接是否仍然可用。 如果我拿出LAN電纜,我的應用程序只是因爲發生超時而失敗。 我知道套接字號碼和連接信息。有什麼辦法知道這是一個網絡錯誤?C++中的網絡連接
0
A
回答
0
拔下電纜本身並不一定是「網絡錯誤」。如果TCP連接暫時不足以達到TCP連接設置的超時時間,則TCP連接可以在斷開連接時輕鬆生存,這是在您的情況下在套接字上完成的。因此,您可以將超時設置得更低,或者使用其他邏輯來測試底層鏈路(物理接口)的狀態,但實際中很少這樣做,並且通常TCP超時對於大多數用途來說已足夠好。爲什麼它不夠好?
+0
,因爲我想檢測到電纜被拔出,以及其他情況,例如通過對等方關閉連接。 – gln
+1
這就是要點 - 拔掉電纜是一個非常不同的情況,而不是由同伴關閉的連接。在一種情況下,連接仍然有效/打開,而在另一種情況下則不是。 –
相關問題
- 1. 網絡連接
- 2. C#測試恆定的網絡連接
- 3. C#健壯的網絡連接處理Flask網絡
- 4. 在C#中檢測網絡狀態(連接 - 斷開連接)
- 5. android網絡連接
- 6. OpenShift中的網絡套接字連接
- 7. 網絡測試連接[Python或C]
- 8. 連接到C#無線網絡
- 9. Swift中的IPv6網絡上的網絡連接檢查崩潰
- 10. 連接到URL阻塞網絡連接
- 11. java網絡接受線程之間的網絡連接
- 12. Android中的網絡連接數量
- 13. 連接到Android中的特定網絡
- 14. 網絡未連接 - R中的spatstat包
- 15. iPhone中的IPv6網絡連接問題
- 16. 檢查Flash中的網絡連接?
- 17. 網絡中的跟蹤連接?
- 18. 網絡連接中的HornetQ異常
- 19. 檢查libGDX中的網絡連接
- 20. 檢查片段中的網絡連接
- 21. 連接RGB圖像的連體網絡
- 22. 網絡連接黑莓
- 23. 連接到lan網絡
- 24. 連接網絡和MATLAB
- 25. 檢測網絡連接
- 26. 網絡連接問題
- 27. glib網絡連接示例
- 28. 禁用網絡連接
- 29. scheduleInRunLoop - 線程網絡連接
- 30. CDMA 4G網絡連接
在Linux上,如果是TCP,你可以嘗試/ proc/net/tcp –
你在什麼操作系統上? – littleadv
Windows和Linux – gln