我正在开发一个Android应用程序,我需要使用IPv6连接到服务器.
在手机上启用IPv6,我可以看到我的本地IPv6地址ip addr.我也可以ping6从PC上成功地使用我的手机,反之亦然.
但是,我试图通过Java命令在Android上获取本地地址NetworkInterface.getNetworkInterfaces()我只获得IPv4地址.
我也尝试打开一个客户端套接字但该行
Socket s = new Socket(MYSERVERIPV6ADDRESS, PORT);
总是抛出java.net.SocketException: Invalid argument.我确信地址是正确的,因为我在我的计算机上尝试使用相同的代码并且工作正常.
似乎IPv6受操作系统支持,但不受Java虚拟机支持.有没有办法解决这个问题?