【发布时间】:2012-09-03 01:49:28
【问题描述】:
首先我的编程语言是Java。我使用套接字创建了一个简单的聊天程序。效果不错。
我在两个终端实例之间的计算机(本地主机)上进行了尝试。
我想在我的笔记本电脑或另一台计算机上试用它。为此,我需要客户端的内部 IP 地址。
如何使用 Java 计算客户端的内部 IP 地址?
我特别想用 Java 来解决它,而不是使用 CMD 或类似的东西。我的意思是 - 这不仅仅是一个常量字符串。
【问题讨论】:
首先我的编程语言是Java。我使用套接字创建了一个简单的聊天程序。效果不错。
我在两个终端实例之间的计算机(本地主机)上进行了尝试。
我想在我的笔记本电脑或另一台计算机上试用它。为此,我需要客户端的内部 IP 地址。
如何使用 Java 计算客户端的内部 IP 地址?
我特别想用 Java 来解决它,而不是使用 CMD 或类似的东西。我的意思是 - 这不仅仅是一个常量字符串。
【问题讨论】:
在 Java 中,有一个类 InetAddress 表示 IP 地址(在某些情况下,还有它对应的主机名)。
例如,让我们获取我的 IP 地址和主机名:
import java.net.InetAddress;
public class Main {
public static void main(String[] args) {
try {
InetAddress i = InetAddress.getLocalHost();
System.out.println(i); // host name and IP address
System.out.println(i.getHostName()); // name
System.out.println(i.getHostAddress()); // IP address only
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出(在我的情况下):
LLEITE/192.168.1.100
莱特
192.168.1.100
【讨论】:
使用下面的代码:
InetAddress ownIP=InetAddress.getLocalHost();
System.out.println("IP of my system is := "+ownIP.getHostAddress());`
【讨论】: