我一直在努力學習聊天服務器。我不知道這個代碼塊是做什麼的。學習聊天服務器。任何人都可以告訴我這裏發生了什麼?
def get_client_name(self, client):
info = self.clientmap[client]
host, name = info[0][0], info[1]
return '@'.join((name, host))
任何人都可以告訴我詳細的代碼功能嗎?
我一直在努力學習聊天服務器。我不知道這個代碼塊是做什麼的。學習聊天服務器。任何人都可以告訴我這裏發生了什麼?
def get_client_name(self, client):
info = self.clientmap[client]
host, name = info[0][0], info[1]
return '@'.join((name, host))
任何人都可以告訴我詳細的代碼功能嗎?
似乎self.clientmap
是dict
映射某種客戶端標識符的(不可能告訴的從該片斷的形式)轉換成一個或tuple
list
,具有與已連接到聊天服務器該特定客戶端的信息。
從完成的任務中,看起來info[0][0]
代表客戶端連接的遠程主機,info[1]
是「名稱」 - 大概是連接到聊天服務器時使用的登錄名?我會進一步猜測,也許info[0]
最有可能是用戶連接的2元組(host, port)
,但這不是上面的代碼直接支持的,但純粹是基於這種應用程序可能存儲的教育猜測。
如果我上面的假設是正確的,get_client_name()
的返回值是表示[email protected]
形式的客戶端的字符串。推測主機是否存儲爲DNS名稱或IP地址是不可能的,但除非代碼特別努力做出反向解析,否則我會強烈懷疑IP地址。
這主要是假設,但是我可以根據您給出的代碼進行管理,這是最好的選擇 - 代碼的關鍵部分是在哪裏以及如何初始化字典self.clientmap
。
你不明白什麼? – jonrsharpe