витая handle_quit () способ отключить? - PullRequest
2 голосов
/ 22 июня 2011

, поэтому я внедряю сервер журналов с витой (python-loggingserver) и добавил простую аутентификацию на сервер.Если аутентификация не удалась, я хочу закрыть соединение с клиентом.Класс в коде сервера журналов уже имеет функцию handle_quit ().Это правильный способ закрыть соединение?Вот фрагмент кода:

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

1 Ответ

2 голосов
/ 22 июня 2011

Если сообщение handle_quit, на которое вы ссылаетесь, это , то это , тогда оно должно работать нормально. Единственное, что делает метод - это self.transport.loseConnection(), который закрывает соединение. Вы также можете просто сделать self.transport.loseConnection() самостоятельно, что позволит сделать то же самое (поскольку это, конечно, одно и то же). Я бы выбрал между этими двумя вариантами, подумав о том, должна ли неудачная аутентификация просто закрыть соединение или она должна всегда обрабатываться так же, как и команда quit. В текущем коде это не имеет значения, но вы можете себе представить, что команда quit имеет дополнительную обработку в какой-то момент в будущем (очистка некоторых ресурсов или чего-то еще).

...