twisted handle_quit()断开连接的方式?

时间:2011-06-22 03:43:46

标签: python logging twisted

所以我正在实现一个带有twisted(python-loggingserver)的日志服务器,我向服务器添加了简单的身份验证。如果身份验证失败,我想关闭与客户端的连接。日志服务器代码中的类已经有一个名为handle_quit()的函数。这是关闭连接的正确方法吗?这是一段代码:

if password != log_password:
    self._logger.warning("Authentication failed. Connection closed.")
    self.handle_quit()

1 个答案:

答案 0 :(得分:2)

如果您所指的handle_quit消息为this one,则应该可以正常使用。该方法唯一的作用是self.transport.loseConnection(),它会关闭连接。你也可以自己做self.transport.loseConnection(),这将完成同样的事情(因为它当然是同样的事情)。我会通过考虑失败的身份验证是否只是关闭连接,或者是否应该始终以与处理退出命令相同的方式来处理这两个选项。在当前的代码中,这没有任何区别,但您可能会想到quit命令在将来某个时候有额外的处理(清理一些资源或其他东西)。