我期待下面的代码将数据报发送到任何 ipv4/ipv6 服务器应用程序,但是在我的双堆栈盒上,它不会将数据报发送到仅 ipv6 的服务器应用程序,我需要使用环回文字“::1”而不是“localhost”来实现它。
DatagramSocket datagramSocket = new DatagramSocket();
datagramSocket.connect(InetAddress.getByName("localhost"),8086);
datagramSocket.send(new DatagramPacket("hello".getBytes(), "hello".length()));
我可能会错过什么?如何编写独立于协议的 UDP 客户端,它使用“连接”并能够将数据报发送到在双堆栈盒上运行的任何仅 ipv4 或仅 ipv6 的服务器应用程序?