7
我正在寻找针对.Net中对等NAT穿越的建议或解决方案。假设我有一个聊天应用程序,两个客户端需要连接,但两者都在NAT后面:.Net WCF NAT穿越的最佳实践
对于家庭场景,由于只涉及电缆调制解调器或消费者路由器,uPNP可能没有问题。但是uPNP不可能的企业环境呢?
我对UDP握手很熟悉,可以进行握手,但我宁愿不依赖它来传输实际应用数据。
我也看了成IPv6和Teredo的,但我不相信,每个客户端将有IPv6的可用性,这是一个有点混乱,以所有的Teredo要求(服务器,中继等)
这是2011 IM /聊天客户已经存在了十年,然后一些 - 所以我必须相信这个问题已经解决了很多次。任何人都可以推荐我在这方面的最佳做法?提前致谢!
用于处理NAT-T的外部服务器对您是否可行? – bratao 2011-03-19 20:28:04
是的 - 两个客户端都必须使用第三方服务器进行身份验证,所以没关系。 我正在通过一个端口上的多个套接字调查TCP/IP孔冲孔。 WCF支持这种开箱即用的方式,因此它可能是一个完美的解决方案。 http://www.brynosaurus.com/pub/net/p2pnat/第4.2节 和 http://msdn.microsoft.com/en-us/library/ms734772.aspx – znelson 2011-03-19 20:49:40
基本上 - 只是使用Teredo和所有问题得到解决。 – znelson 2011-03-21 20:07:02