我有一个扭曲的 tcp 客户端,我想定期连接,接收 n 秒的日期流,然后断开连接。断开连接后会经过 n 秒,然后再重新开始该过程。
下面是到目前为止我尝试过的代码的非常简短的摘录。当我运行代码时,发出 reactor.stop(),并且在睡眠结束后,当在 startClientConnection() 中调用 reactor.run() 时,我得到一个 twisted.internet 错误“ReactorAlreadyRunning”
我是使用扭曲的新手,我不确定我做错了什么。任何帮助都感激不尽。
class TCPClientFactory(ReconnectingClientFactory)
def startedConnecting(self, connector):
pass
def buildProtocol(self, addr):
self.resetDelay()
return MsgProcessor()
def clientConnectionLost(self, connector, reason):
ReconnectingClientFactory.clientConnectionLost(self, connector, reason)
def clientConnectionFailed(self, connector, reason):
ReconnectingClientFactory.clientConnectionFailed(self, connector, reason)
class mainClass(object):
def __init__(self):
...
def startClientConnection(self):
reactor.connectTCP(host, port, TCPClientFactory())
reactor.callLater(60, self.periodic_connect_manager)
reactor.run()
def periodic_connect_manager(self):
reactor.stop()
time.sleep(60)
self.startClientConnection()