[讨论]QQ实现了Symmetric NAT穿透吗? 本帖最后由 qldsrx 于 2009-09-10 14:28:26 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我认为QQ是强穿透 直接把NAT的防火墙干掉了 这分明是外行人说的话,NAT不是防火墙,两者不相干。NAT是负责将外网IP映射到内外IP的,这是路由的基本功能,但只有内部访问外部的时候会自动NAT映射,而外部主动访问内部的话不会,因为它不知道映射到那台内部主机,除非自己手动开端口。所以内网穿透防火墙或者穿透路由,其实是利用内网到外面产生的自动映射,让外部用这个通道访问进来。 仅对Symmetric NAPT,我想了一个方法,没条件试验,大家帮我试试:1,ClientA告诉Server自己的IP1和侦听端口;2,ClientB告诉Server自己的IP2和侦听端口;3,Server告知ClientB,ClientA的IP1(注意,仅仅需要IP,不需说侦听端口);4,ClientB向ClientA打洞,方法是开启一个端口M,对IP1的任意端口连发三个UDP包;6,ClientB在刚才的端口M侦听;7,ClientB生成一个GUID,告知Server,以便让Server明白,ClientB已经打过洞了,现在正在侦听;8,Server告诉ClientA,ClientB上线了,打过洞了,现在正在侦听,并且告诉ClientA,IP2和那个GUID;9,ClientA向IP2:端口N发送UDP包,N从0~65535增长,一共发3轮,即3*65536个包,包的格式为“Hello+端口N+GUID”;10,ClientB收到1个含GUID的包,断定是ClientA发来的,不是ClientX发来的,取出端口N,通过Server告知ClientA,(或许可以直接告知ClientA,这得看ClientA是什么情况)。我不经常上来,谁试成功了麻烦告诉我一下:[email protected],谢谢。 算了一下流量,有点不好意思。建议把包里的Hello去掉,也不要GUID了,流量上不合算。 数据库访问是否可以更简单,ORM是否可以再简化?这次是ORM部分。 vs2005帮助问题:安装了vs2005,msdn lib for 2005,帮助不正常,目录窗口无项目,点筛选依据中的项目,即出错退出,求解决方法。 请高手指点我这段代码有什么错? 导出EXCEL的C#代码有谁知道及生成安装程序的配置,顺便散分. dataGrid列的日期显示格式怎么设置? java里面是return (newWorkPlanDto[]) list.ToArray( new WorkPlanDto[] {}) 那么C#里面怎么写这一句啊 请教,C#读取FTP文件问题 如何从datagrid中删掉一行??? help 那位高手能告诉我在一个datagrid里显示两个表的数据呢??? .net C#如何发送qq,msn消息 C#如何获取硬盘和CPU的温度?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货