我有一個Java應用程序需要特定計算機的IP地址才能在Ubuntu中進行通信。我嘗試使用Jjava函數InetAddress.getLocalHost().getHostAddress()
來獲取所需機器的IP地址,但它返回127.0.0.1的環回地址。我係統的外部IP地址是192.168.1.1。 有沒有什麼函數可以只檢索後者?無法獲取計算機的IP地址
0
A
回答
-2
/**
The following code solved my problem
**/
import java.net.InetAddress;
import java.net.*;
import java.util.*;
class IPAddress
{
public static void main(String args[]) throws Exception
{
int i=0;
Enumeration en = NetworkInterface.getNetworkInterfaces();
while(en.hasMoreElements()){
//System.out.println(i);
NetworkInterface ni=(NetworkInterface) en.nextElement();
Enumeration ee = ni.getInetAddresses();
int j=0;
while(ee.hasMoreElements()) {
InetAddress ia= (InetAddress) ee.nextElement();
if(i==0 && j==1)
{ System.out.println(ia.getHostAddress());
}
j++;}
i++;
}
}
}
相關問題
- 1. 使用遠程計算機獲取遠程計算機的IP地址IP地址
- 2. 獲取和檢查本地計算機的IP地址
- 3. 獲取免費IP地址的算法
- 4. 獲取正在監控的Nagios計算機的IP地址
- 5. 獲取客戶端的IP地址和計算機名稱?
- 6. 使用Python獲取計算機的外部IP地址
- 7. GEOIP和獲取計算機的IP地址位置?
- 8. 獲取用戶計算機的IP地址
- 9. 獲取遠程計算機的IP地址和名稱在VB
- 10. 如何在Java中獲取計算機的WAN IP地址?
- 11. 在PHP中獲取計算機的IP地址
- 12. 如何獲得本地計算機的計算機名稱和IP地址
- 13. 獲取另一臺計算機的MAC地址,因爲它的IP地址
- 14. 獲取計算機的MAC地址
- 15. 網絡計算機的IP地址
- 16. 如何通過java獲取計算機的MAC地址和IP地址列表?
- 17. 如何從IP地址獲取計算機名稱?
- 18. WMI - 無法通過IP地址連接到某些計算機
- 19. 無法從getsockname獲取本地主機IP地址?
- 20. 如何使用PHP獲取計算機名稱,計算機的本地IP和計算機的服務器IP
- 21. 使用Win32網絡API獲取基於計算機名稱的本地計算機的IP地址
- 22. 無法從您的IP地址獲取主機名
- 23. MySQL錯誤:無法從您的IP地址獲取主機名
- 24. 如何獲得Java中的計算機的IP地址
- 25. 如何獲取遠程計算機的本地網絡IP地址
- 26. 獲取實際機器的IP地址
- 27. 獲取虛擬機的IP地址
- 28. 獲取SFML中的主機IP地址
- 29. 獲取打印機的IP地址
- 30. 獲取IP地址
爲什麼?你爲什麼認爲你需要自己機器的IP地址?你的意思是你需要獲得另一臺機器的IP地址嗎?如果是這樣,'getLocalHost()'很難繼續下去。 – EJP
你有沒有使用Google呢?除此之外,這可能已經在這個社區回答了,請參考:http://stackoverflow.com/questions/2381316/java-inetaddress-getlocalhost-returns-127-0-0-1-how-to-get-real-ip – Nirmal
我有一個解決方案導入java.net.InetAddress; import java.net。*; import java.util。*; 類的IPAddress { 公共靜態無效主要(字符串ARGS [])拋出異常 { INT I = 0;枚舉en = NetworkInterface.getNetworkInterfaces(); (en.hasMoreElements()){ // System.out.println(i); NetworkInterface ni =(NetworkInterface)en.nextElement(); Enumeration ee = ni.getInetAddresses(); int j = 0; (ee.hasMoreElements()){InetAddress ia =(InetAddress)ee.nextElement(); if(i == 0 && j == 1) {System.out.println(ia.getHostAddress()); } J ++;} 我++; } } } –