Java 如何在服务器上获取客户端的ip?

Java 如何在服务器上获取客户端的ip?,java,ipv4,Java,Ipv4,我正在寻找一种在服务器端获取客户端请求的ip地址的方法。 顺便说一下,它不是servlet项目。 正在获取客户端IP的服务器: 客户端正在获取服务器的IP:您已经拥有了它 获取自己的IP地址的客户端/服务器:向提供该信息的站点发出请求: URLConnection conn = new URL("http://ifconfig.co/ip").openConnection(); StringBuilder sb = new StringBuilder(); InputStream stream

我正在寻找一种在服务器端获取客户端请求的ip地址的方法。 顺便说一下,它不是servlet项目。

  • 正在获取客户端IP的服务器:

  • 客户端正在获取服务器的IP:您已经拥有了它

  • 获取自己的IP地址的客户端/服务器:向提供该信息的站点发出请求:

    URLConnection conn = new URL("http://ifconfig.co/ip").openConnection();
    StringBuilder sb = new StringBuilder();
    InputStream stream = conn.getInputStream();
    int b;
    while((b=stream.read())!=-1) {
        sb.append((char)b);
    }
    stream.close();
    String ip = sb.toString();
    

我正试图弄明白你在问什么。您说要使用
HttpURLConnection
获取客户端地址。但这是一个客户端库。那么,为什么要在客户端获取客户端IP呢?必须确定服务器端技术。不只是告诉我们它不是什么。服务器获取客户端的ip是我想要的,有可能获取客户端的主机名吗?
socketclient=newsocket(“127.0.0.1”,9200);字符串sock_addr=client.getRemoteSocketAddress().toString();String ip_addr=client.getInetAddress().toString()
我尝试了这段代码,但它返回127.0.0.1:9200,但我想要ipaddress@Radha这只是客户机获取自己的IP地址的一种方式,(a)它已经以127.0.0.1的形式提供给自己,(b)它不需要。请再次澄清,您是否希望(1)服务器获得自己的IP地址;(2) 获取客户端IP地址的服务器;(3) 客户端获取自己的IP地址;或者(4)客户端获取服务器的IP地址。注意(1)是不必要的;(2) 已经得到答复;(3) 这是毫无意义的;(4)没有意义,因为客户端无法连接到服务器,除非它已经知道这一点。