如何判断套接字连接是否在python中断

时间:2015-12-05 21:44:01

标签: python

使用套接字时,如何让客户端处理断开的连接?当我在recv()中拥有客户端而我退出服务器端而没有发送任何内容时,客户端仍然卡在recv()中。如何在连接断开时结束它?

1 个答案:

答案 0 :(得分:0)

首先,尝试将套接字设置为非阻塞模式(默认为阻止模式):

mysock.setblocking(0)

现在,如果您从套接字读取或写入,并且连接在另一端终止,我相信在没有收到数据时它应该抛出socket.error

示例:

try:
    data = mysock.recv(1024)

except socket.error:
    # quit or something

点击socket.setblockingsocket.settimeout上的文档链接 https://docs.python.org/2/library/socket.html#socket.socket.setblocking