java - 从java中的本地主机连接的套接字获取IP

标签 java sockets ip serversocket inetaddress

我如何从本地主机获取套接字连接的 ip?

我试试这个:

ServerSocket ss = new ServerSocket(1919);
        Socket test,s = new Socket("127.0.0.1",1919);

        test=ss.accept();
        System.out.println("we connect ");

        InetAddress IP=test.getInetAddress();
        System.out.println("IP of my system is := "+IP.getHostAddress()+"----"+IP);

输出:

IP of my system is := 127.0.0.1----/127.0.0.1

但我需要: IP:192.168.0.XXX

谢谢

最佳答案

I need : IP:192.168.0.XXX

你永远不会得到它。这将是一个错误的答案。你的Socket是通过127.0.0.1连接的,所以源地址只能是127.0.0.1。

如果您将 Socket 连接到 193.168.0.XXX,您将获得它作为源地址。

关于java - 从java中的本地主机连接的套接字获取IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095314/

相关文章:

java - 区分 Java 线程和 OS 线程?

java - 程序未正确循环

java - 如何使用Socket的输入流处理来自浏览器的HTTPS get请求

delphi - 在 Delphi XE5 中使用 Socket Recv 方法

php - 获取事件网卡的网站访问者 MAC 地址?

java - For 循环错误 -> if 语句不产生输出

JAVA_HOME 在 Linux 中自动更改

c - 我如何使用 setsockopt(SO_REUSEADDR)?

java - 将子网掩码中的位数转换为java中的点分十进制形式

html - iframe src 是从用户的 ip 地址还是网站服务器的 ip 地址请求的?