簡體   English   中英

如何在網絡上查找特定桌面的IP地址?

[英]How to find specific desktop's ip address on network?

我正在編寫一個由兩部分組成的應用程序。 桌面和Android。 有一個台式機和幾個android設備。 (不知道計數。)我想在台式機和TCP之間通信android設備。 但是,Android設備不知道桌面的lan ip地址。

我有兩種方法:

1-桌面應用程序在啟動時會更改本地IP地址。 因此,Android設備知道IP地址。 (我用該IP地址編碼)

2-Desktop應用程序始終嘗試將IP地址(192.168.0.1-192.168.0.255)連接到發送的台式機的IP地址。 當一個android設備連接到網絡時,接受連接,然后知道桌面的ip。

但是兩種方式都存在一些問題。

首先,您必須是更改局域網的管理員。 因此,使用java以admin身份運行命令是一個問題。 因為如果我這樣做,那么當用戶啟動程序時,uac總是會要求它。

第二,由於應用程序始終嘗試連接,因此我認為會有性能問題。 舉例來說,當android設備連接並dhcp給它192.168.0.5,但循環在192.168.0.150上時。 因此android設備必須等待連接。

有沒有比這些更好的方法?

看看這篇文章,使用多播在Java中進行網絡發現,我認為這將是最好的方法。

  1. 服務器將偵聽來自客戶端的廣播消息
  2. 客戶端發送廣播請求以請求服務器IP
  3. 服務器接收請求並使用服務器ip回復。

您可以使用主機名。 如果網絡配置正確,即使更改主機名也將指向正確的IP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM