python socket 在读取时(recv)服务端断开,这时没有异常,请问应该如果捕获这种错误状态呢?

python socket 在读取时(recv)服务端断开,这时没有异常,请问应该如果捕获这种错误状态呢?

阅读 6.1k
1 个回答

以 TCP 协议为例,若 socket 使用阻塞模式调用 recv(),返回空串时表示 TCP 连接已正常关闭。

示例代码如下

# sk = socket(...)
# ...
while True:
    data = sk.recv(1024)
    if not data:
        break  # 连接已经关闭
    # ...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏