当我们连接到IPV6网络时,钴无法成功运行。我发现日志将打印如下:
[16:19:42] [钴]> [0822/081942:ERROR:h5vcc_url_handler.cc(122)]网络错误后停止 [16:19:42] [钴]> [1742:763719731:INFO:system_raise_platform_error.cc(50)] SbSystemRaisePlatformError:连接错误。 [16:19:42] [钴]> [1742:764083748:INFO:main.cc(128)]钴主流程出口
我们检查网络发现网络畅通无阻且其他应用程序可以正常运行。我们需要对钴进行哪些配置才能使其在IPV6网络环境中运行?
我们发现尽管DNS列出了IPV6和IPV4 ip地址,但钴浏览器并不使用IPV6地址,而是使用IPV4 ip地址,但是IPV4在我们的IPV6网络环境中被禁止,因此我们无法成功运行钴。我想知道为什么钴在IPV6网络环境中不使用IPV6 IP地址?或者为什么在连接IPV4地址失败后不尝试使用IPV6 IP地址
答案 0 :(得分:0)
我知道这很老了,但是我想关闭这个循环:
目前,没有简单的方法可以通过Starboard级配置来偏爱IPv6。
对于短期解决方案,您可以实现类似于MakeAddressListStartWithIPv4
的IPv6功能:
https://cobalt.googlesource.com/cobalt/+/refs/heads/20.lts.1+/src/net/socket/transport_client_socket_pool.h#123
MakeAddressListStartWithIPv4
的工作是遍历列表,找到要使用的第一个IPv4地址,您可以对IPv6进行同样的操作。 Cobalt中的IP地址池(IPv4或IPv6)未排序,因此第一个可用IP地址可以是IPv4或IPv6。您的新功能将从该池中查找并使用IPv6地址。
通常,我们不建议Cobalt用户对Cobalt通用代码进行更改,但鉴于情况和您的需要,进行此修改是可以接受的,也是一种短期解决方案。
从长期来看,如果Cobalt团队实施了Starboard级别的配置来控制此设置,我们将建议Cobalt用户使用Starboard解决方案。
如果您想实施自己的Starboard级解决方案,我们也欢迎社区为Cobalt代码库做出贡献。您可以在https://cobalt.dev/contributors/index.html
上查看Cobalt贡献准则。