gpt4 book ai didi

python - socket.recv() 什么时候引发异常?

转载 作者:可可西里 更新时间:2023-11-01 02:51:52 25 4
gpt4 key购买 nike

我正在使用阻塞套接字,我对 recv() 很困惑,因为我没有找到任何关于它的合适文档。官方的似乎仅限于我。另一件让我感到困惑的事情是互联网上的人(以及这个网站上的人)说它不会引发任何阻塞套接字的异常,但它只是一直在等待。如果我粗暴地关闭服务器,它会抛出 Errno 10054(socket.error)。

最佳答案

简单来说,recv会在底层socket操作失败时抛出异常。问题在于它取决于您所使用的操作系统。在这里我可以猜到你在 Windows 上,因为 10054 是一个 Windows error code用于连接重置。幸运的是,套接字操作失败的时间和原因在操作系统之间大致一致(查看 Windows documentation 了解详细信息),并且 python 有一个可移植的解决方案来识别错误:

import errno
...
if err == errno.ECONNRESET :
print "connection reset"

关于python - socket.recv() 什么时候引发异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27568995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com