一、什麼是IP地址
IP地址,全稱為Internet Protocol Address,即Internet協議地址。它是網路上分配給每個連接在互聯網上的設備的唯一地址。IP地址由32位二進位數所組成,分為4個8位二進位數,用點號(.)隔開。
例如,192.168.1.1就是一個典型的IP地址。
二、如何獲取本機IP地址
在Java中,獲取本機IP地址有很多種方式。下面我們介紹兩種常用的方式。
1. 使用InetAddress類
InetAddress類表示Internet地址,它提供了獲取本機IP地址的常用方法getLocalHost()。
import java.net.InetAddress;
public class Main {
public static void main(String[] args) {
try {
InetAddress address = InetAddress.getLocalHost();
System.out.println("本機IP地址:" + address.getHostAddress());
} catch (Exception e) {
e.printStackTrace();
}
}
}
2. 使用NetworkInterface類
NetworkInterface類表示一個網路介面,它提供了獲取網路介面信息的方法getNetworkInterfaces()。
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class Main {
public static void main(String[] args) {
try {
Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface networkInterface = interfaces.nextElement();
Enumeration addresses = networkInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress address = addresses.nextElement();
if (!address.isLinkLocalAddress()) {
System.out.println(networkInterface.getName() + " " + address.getHostAddress());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
三、如何獲取遠程主機IP地址
在Java中,獲取遠程主機IP地址同樣有很多種方式。下面我們介紹一種常用的方式:使用Socket類。
Socket類提供了客戶端訪問伺服器端的功能,其中getInetAddress()方法可以獲取遠程主機IP地址。
import java.net.InetAddress;
import java.net.Socket;
public class Main {
public static void main(String[] args) {
try {
Socket socket = new Socket("www.baidu.com", 80);
InetAddress address = socket.getInetAddress();
System.out.println("遠程主機IP地址:" + address.getHostAddress());
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
四、總結
Java獲取本機IP地址主要使用InetAddress類和NetworkInterface類,獲取遠程主機IP地址主要使用Socket類的getInetAddress()方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291049.html
微信掃一掃
支付寶掃一掃