0

我一直在尝试开发一个使用 Micosoft 的点对点组库的点对点应用程序。基于我在 msdn 上创建群聊应用程序acrticle 的工作。这适用于本地组,如果我安装了第三方隧道适配器(例如 gogo6 客户端),也适用于全局组。然而,从我读过的几件事来看,我似乎应该能够通过 Windows 内置的 Teredo 隧道适配器来完成工作。

我已经尝试了各种方法,现在可以在没有运行 gogo6 隧道的情况下访问仅限 ipv6 的站点(例如 ipv6.google.com),但我似乎无法通过这种方法在我的全局组中找到任何其他对等方。

我在 Windows 防火墙中为应用程序添加了允许流量(包括边缘遍历)的规则,并且还为传入和传出流量打开了以下端口。

  • tcp 3587
  • UDP 3540, 1900

从我读过的样本来看,它似乎应该可以正常工作,但事实并非如此。我确实读过要在应用程序中使用 teredo,您必须特别启用它。我发现这样做的唯一方法是打开套接字时,但是组 api 会为您完成所有这些,所以我不知道如何控制它。

4

2 回答 2

0

由于对称路由器问题,一些 Teredo 客户端无法访问。Teredo 只能在 90% 的路由器后面工作。Gogo6 使用 TSP 将数据包隧道传输到 gogo6 基础设施,从那里到达 ipv6 互联网。

于 2010-03-25T11:53:42.620 回答
0

我认为 Teredo 不支持 IPv6 多播。如果对等组库在后台使用多播,我认为这就是问题所在。我永远无法确认 Teredo 不支持多播。但是在我自己的测试中,当接口 ID 是 Teredo 接口时,setsockopt(ADD_GROUP_MEMBERSHIP) 总是会失败。

于 2010-02-03T17:50:19.317 回答