2016-03-02 66 views
2

我正在編寫一個由2部分(android和桌面)組成的java應用程序。將有一個桌面和多個Android設備。在局域網上的多個Android設備之間的通信桌面

我想;

  1. 從桌面到我選擇Android設備發送數據,
  2. 從Android設備只有桌面應用程序的一個發送數據。

我想通過使用局域網發送數據。所有設備將連接相同的網絡。

它必須在不同的地方工作。如果我使用套接字編程(我想我必須);

  1. 是否有可能找到所有的連接在網絡上的Android設備的LAN IP地址?

  2. 這些android設備怎麼能知道桌面的ip地址?因爲您知道它會將網絡更改爲網絡。

+0

只是爲了給你一些有用的術語來搜索:[https://www.google.de/search?q=client+server+autodiscovery+udp+java](https://www.google。 de/search?q =客戶端+服務器+自動發現+ udp + java) – blafasel

+1

請記住,某些無線網絡將客戶端彼此隔離。這通常發生在酒店,機場,咖啡店,但也提供/啓用一些家庭無線路由器。 –

+0

所以你不建議在酒店的咖啡店等使用lan進行通信。但是如果我使用wan,可擴展性將是一個非常大的問題。 @ philipp-reichart –

回答

1

如何:

  1. 上的所有設備,發送ping來廣播地址。
  2. 嘗試連接(TCP)到所有回答客戶端(不知道每個設備是否會回答廣播ping)。如果建立連接,另一個客戶端就是你的一個客戶端,運行你的應用程序
  3. 通過消息本身瞭解它是Desktop還是Android。