最近,我遇到一个案例,我试图使用Microsoft PNRP技术在两个应用程序之间建立p2p连接。一个应用程序在Lan上,另一个应用程序在相同的Lan (不同的计算机,但相同的服务提供商)上,但在WiFi路由器后面。因为,我在各自系统上的所有云(全局和本地链接)中注册了两个对等点,但当我尝试解析另一个时,我找不到各自的对等点。据我所知,这些节点必须是可发现的,因为我也在全局云(Internet)中注册了它们。如何实现上述场景?
发布于 2012-11-02 21:28:19
以这种方式使用PNRP取决于两种技术,其中最重要的是Teredo隧道。您可能遇到了Teredo隧道以及它在防火墙后的工作方式的限制。
总而言之,Teredo使用IPv4在发送到特定端口的UDP数据包上路由IPv6流量。因此,直接连接仅支持特定类型的NAT。您可能会发现,您的每个系统都可以解析自己和其他服务,但如果它们位于不同的网络上,则不能在防火墙内解析彼此。
解决此问题的最简单方法是使计算机连接到完全不同的网络,或者将它们连接到同一网络(因为PNRP还支持链路本地发现)。
更多信息可以在Wikipedia上找到。
https://stackoverflow.com/questions/13052151
复制相似问题