• 下载频道 http://www.it165.net/down/
  • .NET使用UPnP来穿透NAT示例代码

    发布日期:2013-02-05 10:53:50
    Tag标签:UPnP  NAT示例代码  
    • 在写完Object 672后,软件的一个致命问题暴露出来,如果服务器和客户端都在内网环境下,即双方都通过NAT来接触外网,那么此时客户端是无法直接和服务器交流的。

      解决方案可以是:

      1:把服务器部署在不存在NAT的公网环境下。

      2:使用常见的NAT穿透方法比如UDP打洞,或者STUN协议,但是这些方法都需要另一个已知的部署在公网环境下的服务器。 www.it165.net

      3:就是这篇文章主要讨论的方案,即不需要部署任何公网环境下的服务器,通过路由器支持的UPnP协议来把内网的接口绑定到公网接口上。

      UPnP的一大优势就是不会像UDP打洞那样,内网接口不需要先向外部接口发送UDP包来把绑定的公网接口告诉NAT,而且对于对称NAT,UDP打洞是无效的。而UPnP一旦设置成功后,内网接口完全以绑定的公网接口暴露在公网中。

       

    延伸阅读:

    下载标题  (选择版本点击标题下载) 文件 资源大小
    .NET使用UPnP来穿透NAT示例代码 mgen_upnp.zip 4.69KB
    次元立方 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
    本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规