2014-01-17 48 views
0

假設我必須實現一個java程序,它具有讀取特定Device的動態IP地址的能力。在JAVA中是可能的。我如何讀取使用java的設備的動態IP

+1

* 「我希望示例代碼。」 * ..has波爾卡圓點?你似乎忘了完成那個聲明。但是,如果它將以*「..可以提供」結束*,請注意,堆棧溢出並不能很好地解決問題。 SO不是代碼生成機器。 –

回答

0

如果您的設備在互聯網上,您將不得不製作一個客戶端 - 服務器應用程序。客戶端將被安裝在設備上,並且每當ip發生變化時將其IP地址推送到服務器。

您也可以查看「dyndns.com」和「no-ip.com」等實用程序。這些實用程序可以爲動態IP提供域名。

+0

如何讀取ip地址,如何檢查ip是否正在更改?.is是否在java中使用了內置的類? – vijeshtd

0
  1. 如前所述嘗試提供一些示例代碼或更具體

  2. 收到Java書籍並閱讀TCP/IP聯網的概念。

  3. 你可以試試下面的代碼來獲取本地IP(LAN):

進口java.net.InetAddress中;

import java.net.UnknownHostException;

公共類IP {

public static void main(String[] args) throws UnknownHostException { 
    String ip=InetAddress.getLocalHost().getHostAddress(); 
    System.out.println("My IP address "+ip); 
} 

}

+0

我該如何檢查IP是公共還是私人? – vijeshtd

+0

這段代碼只會給你子網的ip。如果你在路由器(NAT)後面,這將永遠不會工作。你將有tu使用外部web服務來獲得真正的公共IP。 – beny1700

+0

動態IP地址是您的ISP提供的WAN地址。 通常它每次連接到Internet時都會更改。 從WAN到LAN的轉換由您的路由器實現。 現在如果你在路由器後面,你可能總是得到路由器ip 地址作爲你的默認網關。如果你可以執行一些Windows CMD,如** ipconfig/all **,在這裏使用java http://stackoverflow.com/questions/4157303/how-to-execute-cmd-commands-via-java你可以得到一些有用的信息。 –

相關問題