python的socket为什么无法检测连接状态

如题所述

tcp的实现要求极度高效,发生断开事件,系统只是记录状态,不会主动通知应用程序的。 可以通过一些api查询到socket的状态变化,然后判断是不是断开了。比如用select, epoll, kqueue之类的事件分发器。话说,如果客户端通过发送FIN包正常断开连接(拔网线什么的算异常),python的socket会变得可读,并且recv会返回None。
温馨提示:答案为网友推荐,仅供参考
相似回答