位于两个不同城市的内网,如何实现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的比例不至于这么高吧?
望高手指点迷津!
...全文
281 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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,这样,端口就不好预测了
还有可能防火墙也可能屏蔽了

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧