我想寫一個基於tcp套接字的服務器。在我讀的python文檔中,關閉套接字上的recv
應該引發錯誤。但是,當客戶端關閉套接字時,服務器仍然可以在此套接字上使用recv
並獲取空字符串。那麼我可以假設,如果recv
在阻塞套接字上返回空字符串,該連接是否斷開或關閉?蟒蛇recv從封閉套接字
1
A
回答
0
您必須通過代碼處理IOError異常。
except IOError as io_error:
if io_error.errno == <YOUR CODE>:
do something
參見:https://docs.python.org/2/library/errno.html#module-errno 爲獲得驗證碼
0
你必須檢查,如果你已經從客戶端接收數據。如果數據變量爲空,那麼可以假定沒有連接,因爲客戶端已關閉套接字或它們之間有錯誤。最好的例子就是在https://docs.python.org/2/library/socket.html#example或者如果你正在使用python3:https://docs.python.org/3.5/library/socket.html#example
相關問題
- 1. 蟒蛇從套接字接收
- 2. 蟒蛇3.3套接字TypeError
- 3. 套接字錯誤 - 蟒蛇
- 4. 檢測蟒蛇中套接字的優雅關閉
- 5. 蟒蛇扭曲套接字失敗
- 6. 嵌套字典蟒蛇
- 7. 嵌套字典蟒蛇
- 8. 嵌套字典蟒蛇
- 9. 嵌套字典 - 蟒蛇
- 10. 嵌套蟒蛇字典
- 11. 嵌套字典蟒蛇鍵
- 12. 測試一個封閉的套接字
- 13. 調用嵌套接口從封閉
- 14. recv與原始套接字
- 15. Python套接字recv()問題
- 16. 套接字編程:recv()
- 17. 蟒蛇套餐
- 18. 蟒蛇客戶端recv只在BGE
- 19. 從字典蟒蛇
- 20. 蟒蛇從字典
- 21. 蟒蛇:從字典
- 22. 從蟒蛇字典
- 23. 蟒蛇套接字 - 不能從javascript發送數據
- 24. 蟒蛇連接鍵和值從字典
- 25. 蟒蛇2.7:從CMD蟒蛇
- 26. 嵌套在蟒蛇
- 27. 字符串連接「\」蟒蛇
- 28. 字符串連接蟒蛇
- 29. 前往ZMQ4 - 關閉Recv上阻塞的套接字?
- 30. 的recv不給我一個-1客戶端套接字關閉()
但是,當客戶端程序崩潰或當客戶端意外關閉套接字,沒有任何預兆它不會引發任何異常。 'recv'然後在阻塞套接字上返回空字符串。 – fulaphex
顯示你的情況。請簡單的客戶端和服務器。我不明白你是什麼意思 –
http://pastebin.com/6e3z0aW1這裏都是應用程序 – fulaphex