2012-06-02 75 views
0

我正在編寫客戶端服務器應用程序,我需要我的服務器來查找某個網絡中的所有客戶端。我已經在這裏找到了一些信息:Discovering clients on a wifi network,但我仍然不明白如何實現這一點。也許有人可以說我可以在哪裏找到一些代碼示例。查找網絡中的所有客戶端

在此先感謝。

PS。使用C++,windows。

回答

0

通常,TCP/IP用作客戶端和服務器之間的通信協議。對於Windows平臺,Winsock庫用於實現TCP/IP。服務器綁定並監聽端口上的傳入連接。就像web服務器一樣,在80端口默認偵聽,然後客戶端(瀏覽器)連接到它。

這是link to startHere is sample

通常,所有的客戶端都連接到服務器,該服務器在定義良好的端口上偵聽。服務器只有一個,因此IP地址和端口對於所有客戶端都是已知的,因此他們可以連接到它。

在您的情況下,您希望您的服務器能夠發現網絡中的所有客戶端。爲了達到這個目的,服務器需要向網絡廣播一些消息。客戶端將收到此消息,並將響應這些IP上可用的服務器,並且它們可以連接到服務器或向服務器提供附加信息。通常不使用廣播,而是使用有限廣播的多播。所有的客戶端和服務器都將訂閱多播組,這是一種特殊的IP地址。當服務器向這個組播地址發送一條消息時,所有這個地址的訂閱者的客戶端都會收到這條消息並且可以迴應。這裏是一個sample

編輯:你也可以使用升壓LIB實現組播:sender eg.receiver eg.