在 java 服务器中获取 java 客户端的 IP 地址

get IP address of java client in java server

我需要使用 IP 列表检查连接到我的 java 服务器的客户端 IP。

我用过

Sock.getRemoteSocketAddress().equals(ip).

但是 getRemoteSocketAddress() 给出了 192.168.1.81:1115 但我只需要获取 IP 即 192.168.1.81

我想你想用InetSocketAddress.getAddress()喜欢

((InetSocketAddress) Sock.getRemoteSocketAddress()).getAddress()

或者,您可以使用 String.split(String) 之类的

Sock.getRemoteSocketAddress().toString().split(":")[0];

req.getRemoteAddr()是方法

如果你有 servlet 那么

public void doGet(HttpServletRequest req, HttpServletResponse resp)
 throws IOException {

        // Get client's IP address
        String ipAddress = req.getRemoteAddr(); // ip

        // Get client's hostname
        String hostname = req.getRemoteHost(); // hostname
    } 
#
import java.net.*;


public class IP {
    public static void main(String[] args) throws Exception {
        System.out.println(InetAddress.getLocalHost());
        System.out.println(InetAddress.getByName("www.xxx.com"));
    }
}

servletRequest.getRemoteAddr()

字符串 ipAddress = request.getRemoteAddr();