Reputation: 13
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.:
I understand this is not the way to do it in twisted. How can I do it then?
Upvotes: 1
Views: 1461
Reputation: 11547
You can always try to reconnect within your connectionLost
handler, for example:
from twisted.internet.protocol import ClientFactory
class EchoClientFactory(ClientFactory):
def clientConnectionLost(self, connector, reason):
connector.connect()
There is also even a built-in ReconnectingClientFactory
. See also: this blurb on reconnection.
Upvotes: 2