Java Socket.getRemoteSocketAddress()未返回客户端的私有IP地址

Java Socket.getRemoteSocketAddress()未返回客户端的私有IP地址,java,Java,我有一个客户机-服务器程序,其中客户机运行在一台具有两个ip地址(通过internet可见的公共ip地址和私有ip地址)的pc上。我的服务器正在另一个网络上运行。当我使用socket连接客户端和服务器,并在服务器端使用java的socket.getRemoteSocketAddress方法时,我得到了客户端连接的公共ip地址。即使我使用InetAddress.getByName(socket.getInetAddress().getHostName),我仍然可以获得公共地址 问题是我需要打印私人

我有一个客户机-服务器程序,其中客户机运行在一台具有两个ip地址(通过internet可见的公共ip地址和私有ip地址)的pc上。我的服务器正在另一个网络上运行。当我使用socket连接客户端和服务器,并在服务器端使用java的socket.getRemoteSocketAddress方法时,我得到了客户端连接的公共ip地址。即使我使用InetAddress.getByName(socket.getInetAddress().getHostName),我仍然可以获得公共地址


问题是我需要打印私人地址。你能告诉我如何才能做到这一点吗

只有客户知道这一点。无法从服务器检索内部IP地址。客户端必须确定其本地IP地址,然后将该信息发送到服务器