我正在编写一个包含多个客户端的服务器。当客户端启动时,服务器可能尚未运行。因此reactor.connectTCP
可能会失败(没有接收端)。目前我正在通过循环reactor.run
来解决这个问题,即:
我明白这不是扭曲的方式。那怎么办呢?
答案 0 :(得分:2)
您始终可以尝试在connectionLost
处理程序中重新连接,例如:
from twisted.internet.protocol import ClientFactory
class EchoClientFactory(ClientFactory):
def clientConnectionLost(self, connector, reason):
connector.connect()
甚至还有一个内置的ReconnectingClientFactory
。另见:reconnection上的这个模糊。