2011-06-22 28 views
2

所以我實現了一個扭曲的日誌服務器(python-loggingserver),並且我向服務器添加了簡單的身份驗證。如果身份驗證失敗,我想關閉與客戶端的連接。日誌服務器代碼中的類已經有一個名爲handle_quit()的函數。這是關閉連接的正確方法嗎?這裏有一個代碼片段:扭曲handle_quit()斷開的方式?

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

回答

2

如果你指的是handle_quit消息是this one,那麼就應該很好地工作。該方法唯一的作用是關閉連接,即self.transport.loseConnection()。你也可以自己做self.transport.loseConnection(),它們會完成同樣的事情(因爲它當然是同一件事)。我將通過考慮失敗的身份驗證只是關閉連接或者應該始終以與處理退出命令相同的方式進行處理來選擇這兩個選項。在當前的代碼中,這並沒有什麼區別,但是你可以想象quit命令在將來的某個時刻有額外的處理(清理某些資源或某些東西)。