Python / Twisted:exceptions.RuntimeError:在twisted.internet.tcp.Port上调用doWrite

时间:2014-12-16 06:06:46

标签: python twisted

在应用程序启动期间,当客户端甚至没有连接甚至尝试连接时,以及当系统初始化后客户端开始连接时,我们会抛出异常的宝石,< / p>

[twisted.spread.pb.PBServerFactory] Unhandled Error
    Traceback (most recent call last):
      File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
        return callWithContext({"system": lp}, func, *args, **kw)
      File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
        return context.call({ILogContext: newCtx}, func, *args, **kw)
      File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
        return self.currentContext().callWithContext(ctx, func, *args, **kw)
      File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
        return func(*args,**kw)
    --- <exception caught here> ---
      File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 619, in _doReadOrWrite
        why = selectable.doWrite()
      File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1117, in doWrite
        "doWrite called on a %s" % reflect.qual(self.__class__))
    exceptions.RuntimeError: doWrite called on a twisted.internet.tcp.Port
[twisted.spread.pb.PBServerFactory] (TCP Port 37605 Closed)
[twisted.spread.pb.PBServerFactory] Stopping factory <twisted.spread.pb.PBServerFactory instance at 0x7f25262bcab8>

应用程序是用python 2.7.6编写的,在Ubuntu 14.04 64位,内核3.13.0-34上使用Twisted 13.2.0。在Windows 7和Ubuntu 10.04上运行相同的代码时,我们没有看到此异常,没有尝试过任何其他操作系统。

抛出此异常时,系统的性能最多是不可预测的。在某些情况下,似乎没有明显的性能损失,客户端可以随意连接和断开连接,数据通信的完整性是可靠的,软件才能正常工作。在其他情况下,客户端只能在端口上连接一次,然后当客户端断开连接时,客户端无法再在该端口上连接。最后,有些时候客户端根本无法连接到端口,就好像反应堆停止侦听该端口?

我在追溯中看不到任何对我的代码的引用,所以我不知道从哪里开始寻找修复。

我在这个问题上找到的最佳参考是here,但是,如果没有解决方案,这个主题似乎无处可去?

有没有人遇到过这个问题并找到了解决方法,或者找不到工作或者只是愤怒地将电脑扔到窗外?

干杯

0 个答案:

没有答案