Java ServletRequest.getRemoteAddr何时返回IPv6

Java ServletRequest.getRemoteAddr何时返回IPv6,java,servlets,ip,ipv6,Java,Servlets,Ip,Ipv6,我正在进行一个API调用,该调用需要请求IP地址。 我正在使用ServletRequest.getRemoteAddr()获取请求的IP。 对于一个用户来说,getRemoteAddr()返回的是IPv6而不是IPv4。这是为什么 据我所知,IPv6是IPv4的扩展,用户可以选择使用IPv6 而不是IPv4。这是否意味着用户或用户的ISP正在使用IPv6?这是如何工作的。。。。 还有没有一种方法可以获得与IPv4等价的服务 谢谢。ipv6不是ipv4的“扩展”,它是一种替代寻址方案。客户端是否使

我正在进行一个API调用,该调用需要请求IP地址。 我正在使用ServletRequest.getRemoteAddr()获取请求的IP。 对于一个用户来说,getRemoteAddr()返回的是IPv6而不是IPv4。这是为什么

据我所知,IPv6是IPv4的扩展,用户可以选择使用IPv6 而不是IPv4。这是否意味着用户或用户的ISP正在使用IPv6?这是如何工作的。。。。 还有没有一种方法可以获得与IPv4等价的服务


谢谢。

ipv6不是ipv4的“扩展”,它是一种替代寻址方案。客户端是否使用ipv6或ipv4地址取决于客户端的配置(尽管客户端和服务器之间的中介体需要兼容)。由于ipv6地址不向后兼容,因此无法获得与ipv6地址“等效”的ipv4地址(但另一方面,有一种方法可以以ipv6兼容的方式对ipv4地址进行编码)。

错误,当远程地址是ipv6地址时?