我期待以下代码将数据报发送到任何ipv4 / ipv6服务器应用程序,但在我的双栈框中,它不会将数据报发送到仅ipv6的服务器应用程序,我需要使用loop-back文字“:: 1”而不是“localhost”来实现它 .

DatagramSocket datagramSocket = new DatagramSocket();
datagramSocket.connect(InetAddress.getByName("localhost"),8086);
datagramSocket.send(new DatagramPacket("hello".getBytes(), "hello".length()));

我可能缺少什么?如何编写独立于协议的UDP客户端,该客户端使用“connect”并且能够将数据报发送到双栈上运行的任何仅ipv4或仅ipv6的服务器应用程序?