我想写一个基于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