• 全部
  • 问答

位于两个不同城市的内网,如何实现UDP通信?

深宇 2005-03-31 01:39:56
据说通过udp hole技术可以解决,但我尝试了一下,有些内网之间可以,但有些内网之间却不可以?何解?
我是这样做的,在一台有公网IP的机器上放置一个P2Pserver,用作不同内网里的客户端IP和port信息的交换。
上海的一个客户端ClientA,北京的一个客户端ClientB,ClientA通过P2Pserver得到ClientB的IP和Port,ClientB通过P2Pserver得到ClientA的IP和Port,然后ClientA不停的向ClientB发送信息,ClientB同时也不停的向ClientA发送信息,按理说,这样做的话,就等于ClientA不停的向ClientB方向打洞,ClientB也不停的向ClientA方向打洞,这样ClientA或ClientB是可以收到对方发出的信息的
但,不知为何,有的网络可以通,但有的网络却不通,ClientA和ClientB都是可以得到对方的IP和port信息的。
百思不得其解,上网搜索相关的信息,最多也只是说需要向对方打洞就可以通的,但为何我试验的时候,有些网络不通呢?而且比例还比较高,有些资料说,Symmetric NAT会导致打洞失败,但Symmetric NAT的比例不至于这么高吧?
望高手指点迷津!
...全文
242 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qingping21cn 2005-04-21
up
回复
snz 2005-04-20
解决了Symmetric NAT的问题,相应都能通了,我也在解决Symmetric NAT这个问题,希望多多讨论。
回复
constantine 2005-04-06
看看emule地代码吧,相信很多人都用过,开源地,就是p2p地
代码很多地方都有
回复
ccaesarn 2005-04-01
关注
回复
stonesky 2005-04-01
网关的实现有几种方式,有的需要严格检查IP和PORT,所以通不了,会一直不通的
回复
深宇 2005-04-01
通的一直都通,不通的一直都不通
回复
oyljerry 2005-04-01
不通的网络与通的网络有没有什么区别?
回复
click2004 2005-03-31
to lzf1010 (深宇)

我也正为此事苦恼
回复
深宇 2005-03-31
我测试过,不通的网络并不是Symmetric NAT
不通的网络从来没有一次可以连通的,不可能网络状况一直都不好吧
回复
oyljerry 2005-03-31
对于比较大的广域网,对于NAT这种打洞,一般需要来保持连接session的,因而可能网络状况不好时,就可能导致session中断,因而hole就失败了
其次也有可能部分用的Symmetric NAT,这样,端口就不好预测了
还有可能防火墙也可能屏蔽了
回复
相关推荐
发帖
通信技术
创建于2007-08-27

4042

社区成员

通信技术相关讨论
申请成为版主
帖子事件
创建了帖子
2005-03-31 01:39
社区公告
暂无公告