我编写了以下代码来处理 twisted 中的丢失连接:
class Foo(LineReceiver):
def connectionLost(self, reason):
if reason.type != ConnectionLost:
reactor.stop()
def terminate(self):
self.transport.loseConnection()
该terminate
方法由一些输入/输出协议调用。当我用 Ctrl-C 中断我的程序而不是调用该方法时,我必须reason.type
在该方法中进行测试以避免错误“无法停止正在运行的反应器” 。connectionLost
terminate
这段代码有效,但我想知道是否有一种更优雅的方式来管理 twisted 中的连接结束?谢谢 !