1

我正在使用twisted模块在 Python 中开发基于聊天的应用程序。在建立连接一段时间后,让我们假设客户端的网络连接失败。

如何确保服务器收到有关网络故障的通知?

这是代码片段(服务器程序):

def main():
    """This runs the protocol on port 8000"""



    factory = protocol.ServerFactory()
    factory.protocol = Echo
    PortNo = 8000
    reactor.listenTCP(PortNo,factory)

    reactor.run()

# this only runs if the module was *not* imported
if __name__ == '__main__':
    main()

谢谢

4

2 回答 2

4

这个http://twistedmatrix.com/documents/13.0.0/api/twisted.internet.interfaces.IProtocol.html#connectionLost

但要真正确定,您必须在应用程序中实现 PING/PONG。见https://www.rfc-editor.org/rfc/rfc2812#section-3.7.2

于 2013-05-31T11:03:19.820 回答
0

您必须 (1) 使用读取超时和 (2) 确保在读取或写入套接字时对所有错误情况做出适当的反应。

于 2013-05-31T11:16:37.663 回答