网络为IPV6时,钴无法成功运行

时间:2018-09-12 11:07:53

标签: cobalt

当我们连接到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地址

enter image description here

1 个答案:

答案 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

https://cobalt.googlesource.com/cobalt/+/refs/heads/20.lts.1+/src/net/socket/transport_client_socket_pool.cc#268

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贡献准则。