【发布时间】:2014-04-22 07:10:28
【问题描述】:
根据我对python socket的理解,有读端和写端。我也知道您可以关闭一半的套接字(在某些系统上)。此外,您可以通过发送某些内容并检查异常来检查套接字是否已关闭。
我想知道是否有一种方法可以“可靠地”检查服务器是否关闭了套接字的“读取”端,在客户端关闭其“写入”端之后。
例如,如果服务器正在运行,这是客户端代码:
sock.shutdown(socket.SHUT_WR)
#I want to check if I can still read from the socket at this point in code.
这可能吗?
【问题讨论】:
-
这个问题stackoverflow.com/questions/2441928/testing-for-a-closed-socket 可能会对您有所帮助。您可以在 python:sock.recv(1, socket.MSG_DONTWAIT | socket.MSG_PEEK) 中检查相同的方式