代码之家  ›  专栏  ›  技术社区  ›  schmoopy

wcf net.p2p://-这在互联网上有效吗?

  •  4
  • schmoopy  · 技术社区  · 16 年前

    net.p2p协议是否允许对等方通过Internet(通过NAT、防火墙等)进行连接?

    我知道PNRP解决了这个问题(如果您使用ipv6,这很好),但是在使用自定义冲突解决程序时也可以这样做吗?IE:当一个对等机在云中注册时,它只是返回net.p2p://mypcname/endpoint,还是解析器/pnrp返回一些允许在防火墙后面找到PC的东西?

    我很难在.NET的P2P解决方案上找到好的信息,而且它的大部分都很旧。有人知道这是一种可行的技术还是很快就会从.NET中消失的东西吗?

    -编辑- 我的解析器可以公开访问,对等端在NAT/防火墙后面。

    事先谢谢:—)

    3 回复  |  直到 16 年前
        1
  •  6
  •   TFD    16 年前

    都记录在 MSDN

    使用Microsoft的对等名称解析协议,该协议使用Teredo隧道来解决IP6/IP4访问问题。或者编写自己的CustomPeerResolverService(这很简单)

        2
  •  1
  •   t0mm13b    16 年前

    建议在这里谨慎行事,就好像要在防火墙后面托管P2P服务器一样。尤其是当有情况发生时,您需要根据ISP提供的外部IP地址进行端口转发,并将其转发到您的服务器所在的内部网络IP地址。

    在.NET远程处理中,最大的限制是它不能通过防火墙,特别是在使用NAT的情况下。远程处理是很好的,如果它是内部的和防火墙后面的,包永远不会到达互联网。

    您可能需要在防火墙上钻一个孔,以允许数据包进出并将其端口转发到内部网络上的IP地址。这可能会带来一个缺点,即你更容易受到恶意黑客的攻击,他们可以窥探在互联网上来回飞来飞去的数据包,甚至试图进入你的网络。

    希望这有帮助, 顺祝商祺! 汤姆。

        3
  •  1
  •   user220583    16 年前

    Skype在发送文件或进行呼叫时使用UPnP将端口转发到自身。如果不可用,则使用客户机-服务器模式。尝试学习nat遍历和upnp(我也需要)。

    推荐文章