sdc7 发表于 2011-6-28 15:46:24

UDP 通信及打洞问题? 求这方面高手[P版 也帮咱看看]

本帖最后由 sdc7 于 2011-7-21 23:11 编辑

我用AU3可以绑定 接收及发送的端口。
在同一局域网内可以进行数据互传,都在外网可以进行数据互传,
假设现在2台及其,一个A 一个B如果A在一个路由下,B在公网。
按照打洞理论,如果A向B发送数据的话例如A端口5000向B端口5000发送一个UDP 这时候检测发现B能收到。这个没有疑问,但B用端口5000返回(返回的IP及端口为B受到A的数据包中提取)A的数据包A接不到。(打洞理论不是该能接到的吗?)抑郁?测试不知道是哪的问题?

abc... 发表于 2011-6-28 16:20:53

貌似很高深啊。

newuser 发表于 2011-6-28 16:25:54

回复 1# sdc7
同样期待...

xyhqqaa 发表于 2011-6-28 22:52:54

帮顶下,,,,希望高人看的奥

wua0550 发表于 2011-6-30 10:06:12

这个好像以前见到某版主讨论过~~~au3的在内网---外网通讯时好像确实如你所说~~解决方法是用定时读取能到达一方的内容来解决的

xrzmjz 发表于 2011-6-30 13:07:32

这个和服务器防火墙的设置有关系
所有内网广播的数据包都能通过但不是所有的外网广播数据包都能够通过防火墙

sdc7 发表于 2011-7-6 12:24:17

这个好像以前见到某版主讨论过~~~au3的在内网---外网通讯时好像确实如你所说~~解决方法是用定时读取能到达一 ...
wua0550 发表于 2011-6-30 10:06 http://www.autoitx.com/images/common/back.gif


   能否给下相关帖子的链结或说的详细点?   对了,如果本机的路由设置个外网,映射以后,从本机发到本机外网的包能收到,去除映射以后不能收到。最后说句 本机测试怎么测试怎么正常,换网就不成,而且发现 ISP商有的要经过3层NAT,哎,好麻烦啊 感觉

sdc7 发表于 2011-7-21 16:02:15

期待解决· 求思路,求方法

ceoguang 发表于 2011-7-21 20:12:28

我用AU3可以绑定 接收及发送的端口。
在同一局域网内可以进行数据互传,都在外网可以进行数据互传,
假 ...
sdc7 发表于 2011-6-28 15:46 http://www.autoitx.com/images/common/back.gif
打洞是一门很有学问的技术活~~~
lol...
我先问个问题.
你A向B发送数据包后B是如何返回给A的?

sdc7 发表于 2011-7-21 22:56:14

本帖最后由 sdc7 于 2011-7-21 22:57 编辑

打洞是一门很有学问的技术活~~~
lol...
我先问个问题.
你A向B发送数据包后B是如何返回给A的?
ceoguang 发表于 2011-7-21 20:12 http://www.autoitx.com/images/common/back.gif
A向B发包的话,假如A为内网机器,那经过路由NAT 路由会转化成外网端口与IP,然后在B段数据包提取出A外网的IP和端口,根据NAT原则,向这个端口发数据包,那么应该对应的是内网内A的真实发送端口,这个时候A用这个端口接收数据即可! 其实你需要,绑定A的发送与接收端口为同一个即可,B也一样!

ceoguang 发表于 2011-7-22 00:03:13

你到底是懂还是不懂呢?
如果懂了,为何会有此贴?
如果不懂,上面的理论是怎么来的?

sdc7 发表于 2011-7-22 00:51:31

你到底是懂还是不懂呢?
如果懂了,为何会有此贴?
如果不懂,上面的理论是怎么来的?
ceoguang 发表于 2011-7-22 00:03 http://www.autoitx.com/images/common/back.gif

哥们我懂,但是实现了 测试不通过,找不到原因才来求助的

lainline 发表于 2011-7-22 05:01:32

应该是A端口受限或返回的包异常 源码是不是有p2p内容 需要加密或模仿主流应用才不会被防火墙挡住

republican 发表于 2011-7-22 12:45:03

回复 10# sdc7

给你返回数据的代码看一下吧。

asdasdasd 发表于 2011-7-30 01:07:31

本帖最后由 asdasdasd 于 2011-7-30 01:12 编辑

Restricted Cone

A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88

A(192.168.8.100:5000) -> NAT(202.100.100.100 : 8000) -> C(292.88.88.88:2000)

任何从C发送到 NAT(202.100.100.100:8000)的数据都可以到达A(192.168.8.100:5000)


UDP hole punching

设置了中间服务器的,就象腾讯的QQ
页: [1] 2
查看完整版本: UDP 通信及打洞问题? 求这方面高手[P版 也帮咱看看]