在 getInetAddress() 中获取 ip6 格式

Getting ip6 format in getInetAddress()

将从套接字 return 获取 ip4 或 ip6 格式的 ip 的 getInetAddress() 吗?

我一直在为本地主机接收 ip6 格式。是否有任何机器级别的更改来解决这个问题?

Will getInetAddress() from a socket return ip in ip4 or ip6 format?

It will simply return the remote address the socket is connected to,不管是什么。如果套接字是 TCP/IPv6 套接字,则地址将是 IPv6 地址。如果套接字是 TCP/IPv4 套接字,地址将是 IPv4 地址。

请注意,您说的是 "IPv4 format" 和 "IPv6 format" 地址。这是极具误导性的。 IPv4 和 IPv6 不仅仅是表示 IP 地址的不同格式。它们是完全不同的网络协议。您要么使用 IPv4 协议,然后使用 IPv4 地址,要么使用 IPv6 协议,然后使用 IPv6 地址。

I have been receiving ip6 format only for localhost. Are there any machine level changes to address this?

没有。这是连接的属性,不是机器。如果需要 IPv4 连接,则需要创建 IPv4 连接。