1

我正在编写具有多个客户端的服务器。当客户端启动时,服务器可能还没有工作。所以 areactor.connectTCP可能会失败(没有接收端)。目前我正在通过循环 a 来解决这个问题reactor.run,即:

  1. 连接到服务器
  2. 反应堆运行
  3. 如果失败,重复

我知道这不是扭曲的方法。那我该怎么办?

4

1 回答 1

2

您始终可以尝试在connectionLost处理程序中重新连接,例如:

from twisted.internet.protocol import ClientFactory

class EchoClientFactory(ClientFactory):
    def clientConnectionLost(self, connector, reason):
        connector.connect()

甚至还有一个内置的ReconnectingClientFactory. 另请参阅:关于重新连接的此简介。

于 2011-02-21T17:47:42.167 回答