在Python sockets中,输出缓冲区能解决我的资源错误吗?

0 投票
1 回答
891 浏览
提问于 2025-04-16 07:11

我一直收到这个错误信息:未捕获的 Python 异常,关闭通道 <main.Handler 连接 94.173.149.187:51162,地址 0x2ac3dbeb48c0>(socket.error:(11, '资源暂时不可用'))。

我了解到这个问题是因为我在数据还在发送的时候又尝试发送数据。首先,这是真的吗?听起来有可能。其次,有没有什么输出缓冲区可以使用,或者有没有办法检测 Python 是否在发送数据,这样我就可以等一下再发送?

另外,我在两个不同的线程中运行两个 asyncore 服务器,这样会有什么影响吗?

1 个回答

1

你可以通过以下方法来解决这个问题:

socket.setblocking(0)

可以查看这个文档,了解原因,希望这能帮到你 :)

撰写回答