日期:2014-05-20  浏览次数:20895 次

关于WCF和Nat、P2P的问题
忙了有段时间了,最近稍微有些时间思考一些问题。

考虑这个问题已经有一段时间了,资料也翻了一些,不过一直也没有一个明确的答案,很想听听诸位高手的意见。

当WCF的Server在Nat后面时,外面的Client是否有可能通过Teredo之类的技术(包括Pnrp、IPV6映射等技术),直接调用Server公开的契约。

需要考虑Client也在Nat后面的情况,另外也需要考虑Nat类型是否为对称的(最好分几种情况讨论)。

------解决方案--------------------
这样的实施部署还是空白,来学习下。

我觉得只要能够完成IP和端口映射都可以访问到,但也看使用的binding。
Http,Tcp应该可以,P2P很难。双工的binding可能才需要考虑Nat对称的问题,因为客户端也需要公开地址。

------解决方案--------------------
探讨
忙了有段时间了,最近稍微有些时间思考一些问题。

考虑这个问题已经有一段时间了,资料也翻了一些,不过一直也没有一个明确的答案,很想听听诸位高手的意见。

当WCF的Server在Nat后面时,外面的Client是否有可能通过Teredo之类的技术(包括Pnrp、IPV6映射等技术),直接调用Server公开的契约。

需要考虑Client也在Nat后面的情况,另外也需要考虑Nat类型是……

------解决方案--------------------
估计 litaoye 也看过这个帖子了
WCF底层是支持IPv6指定地址访问 
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/bb5c4422-0751-46b2-8c7d-12779fad5196/
如果有IPv6的地址,client也可以直接通过这个地址访问服务了吧。。。
------解决方案--------------------
做个标记,回家来看。
------解决方案--------------------
呵呵,的确,说啥都是理论上的,不实践下不知道。正好跟 litaoye 大哥学学。

先看看 Teredo 去。
------解决方案--------------------
关注学习,找到点资料,单向访问应该可以,对称的Nat的确不太容易
下面的文章很古老
http://technet.microsoft.com/en-us/library/cc786629(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc756770(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc738372(WS.10).aspx
------解决方案--------------------
默认Windows 7已经开通Teredo服务。配置完Teredo服务器以后,可以不用翻墙访问facebook了
但还不知道我自己的IPv6地址是否可以访问。。。明天上公司再试试。
如果可以的话,那么两边的内网穿透就OK了。
------解决方案--------------------
WCF 不存在NAT的问题吧
------解决方案--------------------
Mark一下,这个尤其是P2P一直是我关注的,但似乎也一直没有一个完美的解决方案出现过,期待ing。。。。
高人在哪里?
------解决方案--------------------
暂时还没有突破性的结论。。。
------解决方案--------------------
我觉得难,首先用TCP穿透NAT就有一定难度,况且WCF的底层还不受控制
------解决方案--------------------
就你的标题看来,似乎是要讨论一个现实的技术。可是看那你的内容,其实是讨论没有现实意义的问题。将来等它现实了,别人也会比你先搞出应用,所以搞技术还是应该先在现实的东西上搞成一个别人那一替代的系统、然后才研究不现实的底层技术。你没有应用,就去研究底层技术,其实会搞点底层技术的人随便仍点钱就可招聘很多(现在处于动荡中的编程人员太多了),关键还是缺乏合适的人才来从上层应用上来把握这底层技术。
------解决方案--------------------
应该先在现实的东西上搞成一个别人那一替代的系统 --> 应该先在现实的东西上搞成一个别人难以替代的系统
------解决方案--------------------
探讨
就你的标题看来,似乎是要讨论一个现实的技术。可是看那你的内容,其实是讨论没有现实意义的问题。将来等它现实了,别人也会比你先搞出应用,所以搞技术还是应该先在现实的东西上搞成一个别人那一替代的系统、然后才研究不现实的底层技术。你没有应用,就去研究底层技术,其实会搞点底层技术的人随便仍点钱就可招聘很多(现在处于动荡中的编程人员太多了),关键还是缺乏合适的人才来从上层应用上来把握这底层技术。