连接失败后重新启动 Twisted-python Reactor
我正在编写一个具有多个客户端的服务器。当客户端启动时,服务器可能尚未工作。因此,reactor.connectTCP 可能会失败(无接收端)。目前,我正在通过在 reactor.run
上循环来解决这个问题,即:
- 如果失败,请连接到服务器
- reactor.run
- ,重复
我知道这不是扭曲的方法。那我该怎么办呢?
I am writing a server with multiple clients. When a client starts, the server may not yet be working. So a reactor.connectTCP
may fail (no receiving end). Currently I'm solving this by looping on a reactor.run
, i.e.:
- connect to server
- reactor.run
- if fails, repeat
I understand this is not the way to do it in twisted. How can I do it then?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您始终可以尝试在
connectionLost
处理程序中重新连接,例如:甚至还有一个内置的
ReconnectingClientFactory
。另请参阅:有关重新连接的简介。You can always try to reconnect within your
connectionLost
handler, for example:There is also even a built-in
ReconnectingClientFactory
. See also: this blurb on reconnection.