I would like to make a ReconnectingClientFactory
with asyncio. In particular to handle the case that the server is not available when the client is started in which case the ReconnectingClientFactory
will keep trying. That is something that the asyncio.events.create_connection
does not do.
Concretely:
The EchoClient example would be fine. The crux is how the connection is made.
factory = EchoClientFactory('ws://127.0.0.1:5678')
connectWS(factory)
in the case of the twisted version with ReconnectingClientFactory
.
Vs
factory = EchoClientFactory(u"ws://127.0.0.1:5678")
factory.protocol = SecureServerClientProtocol
loop = asyncio.get_event_loop()
# coro = loop.create_connection(factory, 'ws_server', 5678)
coro = loop.create_connection(factory, '127.0.0.1', 5678)
loop.run_until_complete(asyncio.wait([
alive(), coro
]))
loop.run_forever()
loop.close()
Or similar with the asycnio version.
The problem is that in the asyncio version the connection is established by asyncio.events.create_connection
which simply fails if the server is not available.
How can I reconcile the two?
Many thanks