2013-08-26 118 views
0

我希望我的應用程序能夠通過同一個WiFi網絡連接到其他設備並傳輸一些數據,即phone Aphone B安裝了我的應用程序並且位於相同網絡。我可以連接兩個設備,一個充當服務器,另一個充當客戶端,但是這是對服務器設備的靜態引用。在開放的世界裏,這個IP當然會改變,所以我的問題是如何讓phone A作爲服務器設備啓動,然後phone B看到網絡上的服務器設備並連接到它。因此,服務器設備將接受此客戶端連接,並在連接完成時執行所需的操作。這甚至有可能嗎?通過WiFi連接兩個或更多設備通過我的應用程序

回答

0

我相信你會有一個設備監聽端口號x,客戶端版本(設備B)尋找相同的端口號x。這可能是錯誤的。

+0

我在想如果有可能搶到我打算使用的端口的東西。但我不知道如何做到這一點,如果這種方式是可行的,並感謝您的答覆。 – kabuto178

0

這是DNS的工作。如果您沒有可用的DNS服務器,則可以創建一個發現協議,在該協議中,計算機A會週期性地多播它正在偵聽的IP端口。機器B加入組播組。一旦機器B知道A的地址和端口,它就可以使用你已有的代碼打開一個套接字。

+0

你有沒有創建這樣的廣播的樣本? – kabuto178

+0

我沒有現成的例子,但這是DDS(數據分發系統),CORBA等系統使用的一般方法。事實上DDS可能適合您的需求,儘管與您所做的相比它有點重量級現在。 –