Pyro4有时会在超过4个并发连接后抛出“Connection reset by peer”(Erno 104)的错误。

2024-05-29 02:12:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我找了又找,找不到答案。我正在尝试打开两个unix设备之间的Pyro连接。我可以使用具有相同URI字符串的Pyro4代理连接到设备4次。在第五个连接上,实例挂起我的get data函数调用。它穿过核心.pypyro包,最后等待获取数据。偶尔,在第四个连接之后创建的这些打开的连接之一会抛出一个ConnectionClosedError异常,如下所示:

 ConnectionClosedError("receiving: connection lost: "+str(x))
 ConnectionClosedError: receiving: connection lost: [Errno 104] Connection reset by peer

如果我还不清楚,以下是导致这个问题的原因: -在不同的SSH会话上打开4个到设备的连接,并运行设置pyro代理的重复测试。(这些工作做得很好,没有错误) -打开更多的连接,都挂在我的电话上获取数据。它们至少会挂起5分钟,有些会偶尔引发上述异常。 -不是所有人都会这样做。一旦4个运行测试中的1个完成,挂起的第5个测试将恢复正常并完成。其他人也会跟着来,但每次不会超过4个。在

最后,下面的代码socketutil.py)异常实际发生的地方:

^{pr2}$

希望你能给我指点方向。提前谢谢!在


Tags: 实例字符串答案代理datagetunixuri

热门问题