我正在面對一個奇怪的套接字連接問題.net窗口應用程序。我使用來自.net的套接字異步地傳輸到舊系統緩存數據庫。
我在應用程序中有一個特定的超時值,當超時發生時,提示用戶保持連接到應用程序。當我說保持連接時,套接字未被重置。
我將超時設置爲30分鐘,並說保持連接第一個空閒時間。然後,當我瀏覽應用程序時,它工作正常。 如果無法在應用程序中導航並且說第二次保持連接狀態,並在應用程序中導航,則會出現套接字「主機拒絕」連接錯誤。我可以假設這可能是套接字被終止。
但是奇怪的部分是,如果我將應用程序超時設置爲10分鐘,那麼我也第二次收到套接字錯誤。當我檢查插座連接的屬性時,它仍然是正確的。當我調用套接字發送方法時,我不會捕獲異常。但數據不是從socket傳遞的。我檢查了其他.net代碼。沒事。這個問題很少發生,10次只有1次。任何建議都會非常有幫助。套接字連接錯誤
Q
套接字連接錯誤
1
A
回答
2
這聽起來像是防火牆或其他TCP設置導致的典型問題。
如果連接閒置超過x秒,防火牆可能會靜默斷開連接。
由於在這種情況下TCP協議不會生成事件(類似於剛剛移除網絡電纜),強烈建議每隔x秒發送一次ping消息,以便防火牆保持打開狀態,並且您可以確保被連接。如果ping錯過,服務器會斷開客戶端連接。
相關問題
- 1. Nodejs套接字連接錯誤
- 2. PHP中的套接字連接錯誤
- 3. Marklogic套接字連接錯誤
- 4. 套接字服務器連接錯誤
- 5. Android套接字聊天連接錯誤
- 6. WCF /錯誤:套接字連接中斷
- 7. 錯誤:連接拒絕連接到套接字服務器時
- 8. 的Java套接字錯誤:java.net.ConnectException:連接被拒絕:連接
- 9. Python套接字 - 連接套接字
- 10. 套接字連接
- 11. 套接字錯誤:連接被拒絕 - 我做錯了什麼?
- 12. 套接字連接時出錯
- 13. 錯誤:接收錯誤:[57]套接字未連接 - iOS設備10
- 14. Jmeter連接通過Peer重置:套接字寫入錯誤/套接字異常:連接重置
- 15. AIR本地套接字連接 - 錯誤#2031:套接字錯誤。網址:本地主機
- 16. 連接到不同的機器, '無法通過套接字連接' 錯誤
- 17. dev-C++套接字錯誤
- 18. C#套接字錯誤10022
- 19. 套接字發送錯誤
- 20. Java套接字錯誤
- 21. 套接字錯誤 - 蟒蛇
- 22. IPC套接字錯誤
- 23. 套接字EADDRINUSE錯誤
- 24. 套接字錯誤10047
- 25. Python套接字錯誤
- 26. 套接字寫入錯誤
- 27. Windows套接字錯誤10013
- 28. python SMTP - 套接字錯誤
- 29. 套接字通信錯誤
- 30. Android新套接字錯誤
BUt我檢查了防火牆,它已關閉。是否有其他可能會影響的TCP設置 –
Avid - 我不是在談論您的計算機上的防火牆 - 我正在談論公司網絡中的公司防火牆/交換機。如前所述,還有其他一些原因,您應該考慮使用ping協議 - 這是確保工作套接字簡單易行的最佳實踐。 – weismat