我正在编写具有多个客户端的服务器。当客户端启动时,服务器可能还没有工作。所以 areactor.connectTCP
可能会失败(没有接收端)。目前我正在通过循环 a 来解决这个问题reactor.run
,即:
- 连接到服务器
- 反应堆运行
- 如果失败,重复
我知道这不是扭曲的方法。那我该怎么办?
您始终可以尝试在connectionLost
处理程序中重新连接,例如:
from twisted.internet.protocol import ClientFactory
class EchoClientFactory(ClientFactory):
def clientConnectionLost(self, connector, reason):
connector.connect()
甚至还有一个内置的ReconnectingClientFactory
. 另请参阅:关于重新连接的此简介。