複数のクライアントでサーバーを作成しています。クライアントが起動したとき、サーバーはまだ機能していない可能性があります。したがって、areactor.connectTCP
は失敗する可能性があります(受信側がない)。現在、私はこれをループすることで解決していreactor.run
ます。
- サーバーに接続する
- react.run
- 失敗した場合は、繰り返します
私はこれがねじれた状態でそれを行う方法ではないことを理解しています。どうすればそれができますか?
connectionLost
たとえば、ハンドラー内でいつでも再接続を試みることができます。
from twisted.internet.protocol import ClientFactory
class EchoClientFactory(ClientFactory):
def clientConnectionLost(self, connector, reason):
connector.connect()
ビルトインもありReconnectingClientFactory
ます。参照:再接続時のこの宣伝文句。