【问题标题】:How to get an internal IP address?如何获取内部 IP 地址?
【发布时间】:2012-09-03 01:49:28
【问题描述】:

首先我的编程语言是Java。我使用套接字创建了一个简单的聊天程序。效果不错。

我在两个终端实例之间的计算机(本地主机)上进行了尝试。

我想在我的笔记本电脑或另一台计算机上试用它。为此,我需要客户端的内部 IP 地址。

如何使用 Java 计算客户端的内部 IP 地址?

我特别想用 Java 来解决它,而不是使用 CMD 或类似的东西。我的意思是 - 这不仅仅是一个常量字符串。

【问题讨论】:

    标签: java sockets ip internal


    【解决方案1】:

    在 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

    【讨论】:

    • 有人告诉我需要“在我的调制解调器中打开一个端口”(我不确定我用英文写的是否正确).. 你知道他在说什么吗?
    【解决方案2】:

    使用下面的代码:

    InetAddress ownIP=InetAddress.getLocalHost();
    System.out.println("IP of my system is := "+ownIP.getHostAddress());`
    

    【讨论】:

    • 有人告诉我需要“在我的调制解调器中打开一个端口”(我不确定我用英文写的是否正确).. 你知道他在说什么吗?
    • @iLoveC 我认为这个链接可以帮助你。forums.afterdawn.com/thread_view.cfm/223583
    • 非常感谢,不过我用的是linux fedora .. 这个教程对我还有效吗?
    • 好的,谢谢。我需要在服务器机器或客户端机器上打开端口?
    猜你喜欢
    • 2016-02-02
    • 2015-03-15
    • 2010-12-26
    • 1970-01-01
    • 2021-11-20
    • 2013-04-03
    • 2016-03-10
    相关资源
    最近更新 更多