And*_*rea 11 java sockets android ipv6
我正在开发一个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虚拟机支持.有没有办法解决这个问题?
在 Inet6Address 中使用此静态方法来获取您的地址的 Inet6Address 对象,
Inet6Address getByAddress(字符串主机,字节[]地址,intscope_id)
然后使用以下套接字构造函数来获取套接字,
套接字(InetAddress dstAddress,int dstPort)。
| 归档时间: |
|
| 查看次数: |
3249 次 |
| 最近记录: |