udp打洞

ares0824 2013-10-18 02:00:07
我编了两个程序,一个是SERVER,运行在公网上,作为UDP包协调服务器,用以记录各客户端的上线状况;另一个就是CLIENT,可以运行在公网上,也可以运行在内网中.

如果一个客户在公网,另一个客户在内网,可以实现UDP打洞,穿透NAT. 但如何两台机器均在内网(即在NAT之后),则无法打洞.因为,客户端出NAT时的端口发生了变化.

不知道有没有高手成功,求指点。
...全文
142 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
rsdtt 2013-10-22
  • 打赏
  • 举报
回复
引用 9 楼 ares0824 的回复:
你先仔细看看帖子的内容,打不通有可能是因为路由的原因,源代码客户端和服务端都有的 实现方法在我的帖子中也有详细的说到
还是没找到客户端和服务器源代码链接,求大神给个链接。[/quote] http://download.csdn.net/detail/rsdtt/4850266
ares0824 2013-10-18
  • 打赏
  • 举报
回复
你先仔细看看帖子的内容,打不通有可能是因为路由的原因,源代码客户端和服务端都有的 实现方法在我的帖子中也有详细的说到[/quote] 还是没找到客户端和服务器源代码链接,求大神给个链接。
rsdtt 2013-10-18
  • 打赏
  • 举报
回复
引用 4 楼 ares0824 的回复:
帖子里有源码的
有不成功的源码,和成功的服务器,之后客户端没有更改过吗? 我现在是先把两台客户端的信息先存起来,然后一台客户端要发送消息时会自己尝试去打洞,如果不成功,会告诉服务器,让服务器通知另一台客户端,另一台客户端收到服务器发来的消息后,马上去打洞。 不是这样的吗?[/quote] 你先仔细看看帖子的内容,打不通有可能是因为路由的原因,源代码客户端和服务端都有的 实现方法在我的帖子中也有详细的说到
worldy 2013-10-18
  • 打赏
  • 举报
回复
想一下qq视频 发出申请 接受申请 视频才能开始
ares0824 2013-10-18
  • 打赏
  • 举报
回复
引用 5 楼 worldy 的回复:
要双方都同意了,才能打洞
双方都同意怎么理解? 求指示
worldy 2013-10-18
  • 打赏
  • 举报
回复
要双方都同意了,才能打洞
ares0824 2013-10-18
  • 打赏
  • 举报
回复
帖子里有源码的[/quote] 有不成功的源码,和成功的服务器,之后客户端没有更改过吗? 我现在是先把两台客户端的信息先存起来,然后一台客户端要发送消息时会自己尝试去打洞,如果不成功,会告诉服务器,让服务器通知另一台客户端,另一台客户端收到服务器发来的消息后,马上去打洞。 不是这样的吗?
rsdtt 2013-10-18
  • 打赏
  • 举报
回复
引用 2 楼 ares0824 的回复:
能给个客户端和服务器供测试吗用吗? 万分感谢了。524008362@qq.com
帖子里有源码的
ares0824 2013-10-18
  • 打赏
  • 举报
回复
能给个客户端和服务器供测试吗用吗? 万分感谢了。524008362@qq.com
rsdtt 2013-10-18
  • 打赏
  • 举报
回复
两个客户端在内网,只要有一个公网的服务端交互信息就可以打通 当然这里面还有一定的限制,我之前也讨论过这个问题,可以看看我的帖子 http://bbs.csdn.net/topics/390298220

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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