java - 如何确定小程序是否通过 IPv6 加载

标签 java applet ipv6 ipv4

我有一个小程序,可以连接回同一主机上运行的服务。托管小程序的网络服务器会监听 IPv4 和 IPv6,小程序想要连接的服务也是如此。

问题是,从小程序中我只能得到页面 URL 或代码库 URL。从 URL 中,我无法检测浏览器是否将其解析为 IPv4 还是 IPv6,因此当通过 IPv6 加载小程序并使用 URL 告诉小程序在哪个服务器上查找服务时,沙盒会失败规则,因为它默认解析为 IPv4 地址。

想到的唯一解决方案是签署小程序,以便它可以请求连接到任意服务器,但我希望有一个更简单的解决方案(不涉及购买证书或将我的自定义 CA 添加到信任库)访问该站点的所有系统)。

任何人都有更好的解决方案。

最佳答案

使用InetAddress.getAllByName() 。结果的顺序将告诉您应该使用哪个(即,您应该首先尝试使用 result[0])。

重要的问题不是“小程序是如何加载的”,而是“我应该如何连接到主机”。

关于java - 如何确定小程序是否通过 IPv6 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5267128/

相关文章:

java - m2e 插件 - Eclipse - 创建 Java 类和包。不被视为项目的一部分

java - 导入 Java 或其他语言,根据给定数据生成流程图

java - 保护来自客户端应用程序的服务器端输出

redis ZRANGEBYLEX 和 ipv6

在 C 上将 IPv4 转换为 IPv6

c# - 如何检索 IPv6 子网掩码长度

java - 使用 jmeter 模拟 200 个用户,每个用户都有唯一的登录名

java - 测量 HttpSession 对象的大小

java - 链接方法时不能依赖目标类型

java - 如何让小程序读取客户端上的任意文件? (创建 uploader )