2014-02-28 66 views

回答

0

這可能需要多一點的信息才能具體,但我會嘗試與它一起運行。

因此,如果您有一臺服務器維護已連接的客戶端列表,則可以在連接到服務器時爲每個客戶端理想地標記某種類型的ID。

例如,假設您有一臺管理某種數據並且有兩種類型的客戶端可以連接的服務器:管理員和客戶。

現在,當客戶端連接時,您可以設置服務器,以便它詢問用戶它們是什麼,並且可能使用登錄驗證。繼續您可以將所有類型放入唯一列表中,然後分別向這些列表進行廣播。

此外,由於您可以控制服務器和客戶端應用程序。您可以爲每個連接並存儲在列表中的用戶生成一個隨機的ID號/標記/內容。然後,如果服務器想要發送一個唯一的客戶端消息,則只需搜索該用戶套接字/連接的列表(或hashmap)並向它們廣播即可。

我知道這個答案似乎有點含糊,但提供的信息是這樣的。

+0

謝謝。這真是我需要的提示。我所有的客戶都有一個ID。因此,舉例來說,如果在i = 1(我從0變化到number_of_clients)的循環內向客戶端號碼「1」發送消息,我會將消息發送到客戶端1還是發送給所有客戶端? –

+0

所以如果你相信你會不斷地使用服務器發送消息給一個客戶端,我會考慮組織客戶端,把它們編入一個基於它們標籤的數據結構中。特別是對於你提到的for-loop,只要你添加if(clientToMessage == clientID)的條件來發送你應該沒問題,我也會在找到你的客戶端時中斷for循環。 我提到的數據結構將允許您搜索客戶端對象,並在它上面設置特定的調用SEND消息。只是我的想法。 – Acludia