ツイストで失われた接続を処理するために、次のコードを記述しました。
class Foo(LineReceiver):
def connectionLost(self, reason):
if reason.type != ConnectionLost:
reactor.stop()
def terminate(self):
self.transport.loseConnection()
このterminate
メソッドは、いくつかの入出力プロトコルによって呼び出されます。メソッドを呼び出す代わりにCtrl-Cでプログラムを中断すると、「実行中のreactorを停止できません」というエラーを回避するためにメソッドreason.type
をテストする必要がありました。connectionLost
terminate
このコードは機能しますが、ツイストで接続の終わりを管理するよりエレガントな方法があるのだろうか?ありがとう !