关于 TCP Nat 穿透问题? http://www.vckbase.com/document/viewdoc/?id=1773当到第8步,1.B向A发起connect 的是,他要去连A的哪个端口? 2.B在连接这个端口连不通的时候,他是怎么知道自己在外网的端口的,并把这个端口通过S告诉A? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能穿透防火墙的UDP,不是TCP。B向A发送一个UDP包,目的是为了通知B的防火墙要信任之后从A发到B在外网端口的UDP数据包,不要丢弃它们。这个UDP包可以发送到A的任何一个UDP端口,而且都将被A丢弃。B在外网的端口,S是知道的(端口信息包含在由B发给S的UDP包中),由S转告A。 UDP 穿透是没有问题的 ,我已经实现过了,只要互相 告诉 对方在外网的 IP,端口号,就是了 。S 告诉 A ,B 的外网的 IP_B 和 Port_B. 告诉 B ,A 的外网的 IP_A 和 Port_A.A直接往IP_B,Port_B发数据。B直接往IP_A,Port_A发数据。但是 TCP 没有实现过。人家也说可以的呀 !http://blog.csdn.net/maotai/archive/2008/07/26/2713350.aspx这个上面说可以实现的。 认真学习了http://www.vckbase.com/document/viewdoc/?id=1773 当到第8步, 1.B向A发起connect 的是,他要去连A的哪个端口? 是A连接S的【协助打洞】时在NAT-A上的外网端口,在第4步中S告诉了B的。2.B在连接这个端口连不通的时候,他是怎么知道自己在外网的端口的,并把这个端口通过S告诉A? 第6步中B连接A时用的本地端口就是第5步中B连接S的【协助打洞】时用的本地端口,也是第7步中进入侦听状态的本地端口。这个端口,S在第7步时告诉了A。 谢谢你的回复,1.已经理解了。2.本地端口,这个端口是B本地端口,不是B在 Nat_B的外网端口,是吗,那A过的来吗? 我的理解是:当B本地端口不变时,B向外连接不同的外网地址时NAT-B不会重新创建新的端口,会重复使用B首次向外连接时NAT-B所创建的那个端口,这个端口,S在第5步时知道了,告诉A的应该是这个NAT-B上的端口号。 谁能将这一段VC6代码转为 Delphi 的 有office outlook编程的进来挑战一下!!! 用过WebBrowser的高手来帮我看看这个问题。多谢啦 新手入门!!!!快来看看!!! delete from aaa.dbf 后,如何彻底清空记录? 在C#中怎么调用delphi的dll 组件面板不显示了的原因 请问,怎样实现多线程程序设计? 用adotable控件如何限定记录数 再次麻烦chechy(chechy)!! 每人一个方法! DBGrid中数据不同数字大小分别显示不同的颜色,请教大哥哥大姐姐
S 告诉 A ,B 的外网的 IP_B 和 Port_B.
告诉 B ,A 的外网的 IP_A 和 Port_A.A直接往IP_B,Port_B发数据。
B直接往IP_A,Port_A发数据。但是 TCP 没有实现过。人家也说可以的呀 !http://blog.csdn.net/maotai/archive/2008/07/26/2713350.aspx
这个上面说可以实现的。
1.B向A发起connect 的是,他要去连A的哪个端口?
是A连接S的【协助打洞】时在NAT-A上的外网端口,在第4步中S告诉了B的。2.B在连接这个端口连不通的时候,他是怎么知道自己在外网的端口的,并把这个端口通过S告诉A?
第6步中B连接A时用的本地端口就是第5步中B连接S的【协助打洞】时用的本地端口,也是第7步中进入侦听状态的本地端口。这个端口,S在第7步时告诉了A。
1.已经理解了。
2.本地端口,这个端口是B本地端口,不是B在 Nat_B的外网端口,是吗,那A过的来吗?
我的理解是:当B本地端口不变时,B向外连接不同的外网地址时NAT-B不会重新创建新的端口,会重复使用B首次向外连接时NAT-B所创建的那个端口,这个端口,S在第5步时知道了,告诉A的应该是这个NAT-B上的端口号。