从我的蟒蛇插座的认识,有一个读端和写结束。我也明白你可以关闭一半的插槽(在某些系统上)。此外,你可以通过发送一些东西并检查异常来检查python是否关闭了套接字。检查套接字后sock.shutdown(SHUT_WR)关闭?
我想知道是否有办法“可靠”检查,如果服务器已关闭套接字的“读”结束之后,客户端已关闭套接字它“写”结束。
例如,如果一台服务器正在运行,这是客户端代码:
sock.shutdown(socket.SHUT_WR)
#I want to check if I can still read from the socket at this point in code.
这可能吗?
可能是这个问题http://stackoverflow.com/questions/2441928/testing-for-a-closed-socket会帮助你。 你可以在Python检查以同样的方式:sock.recv(1 socket.MSG_DONTWAIT | socket.MSG_PEEK) – psl