我正在使用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()
由于
答案 0 :(得分:4)
但是要确定,你必须在应用程序中实现PING / PONG。见http://tools.ietf.org/html/rfc2812#section-3.7.2
答案 1 :(得分:0)
您必须(1)使用读取超时和(2)确保在读取或写入套接字时对所有错误条件做出适当的反应。