Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343887
  • 博文数量: 72
  • 博客积分: 2130
  • 博客等级: 大尉
  • 技术积分: 857
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-05 16:10
文章分类

全部博文(72)

文章存档

2010年(5)

2009年(14)

2008年(53)

分类: LINUX

2009-08-03 18:20:15

折腾了一星期总算测试成功了,分享一下
首先介绍一下测试环境:
用了三台机器h1, h2, h3,三个路由r1, r2, r3,两台机器h1, h2分别放在其中两个路由r1,r2后面,然后r1, r2和h3分别放在r3后面,r3接外网,h1,h2,h3上都装的是ubuntu8.10
打开源代码
执行gcc server.c proto.h -o server
执行gcc client.c proto.h -o client -lpthread
将生成两个可执行文件server, client
把client放在h1, h2上,把server放在h3上
首先在h3上执行./server启动服务器,
然后在h1上执行./client启动客户端,输入服务器的IP地址和h1上用户名(随便起,当然不要超过20个字符)
在h2上也执行./client启动客户端,输入服务器的IP地址和h2上用户名(也是随便起,当然不要超过20个字符)
根据命令提示在每个客户端上执行getu刷新用户列表,然后就可以通过send命令互相交流了。
注:代码参考网上的,由于没做过windows下编程和C++,故改成纯c的linux下代码,如有版权问题,敬请通知,感谢那些大牛们
文件:udp_hole_punching.tar.gz
大小:281KB
下载:下载

阅读(7773) | 评论(7) | 转发(3) |
给主人留下些什么吧!~~

英语风云2015-04-01 13:54:41

为什么下载不了啊?谁有发给我一份,先谢谢了。296447751@qq.com

wzlong20122013-04-28 23:28:03

jluliuchao:呵呵,程序没加注释,明天去实验室慢慢研究吧。 先谢谢你了,应该对我有帮助

怎么下载不了呢?亲,可以发个我一份吗?谢谢!我的邮箱:vcting@163.com

回复 | 举报

wzlong20122013-04-28 23:27:27

怎么下载不了呢?亲,有谁可以发个我一份吗?谢谢!我的邮箱:vcting@163.com

chinaunix网友2010-04-16 23:26:20

你好,请问外网(有独立IP)服务器给内网客户端发送数据失败是什么原因? 客户端给服务器发送数据是可以的。

shenxiaocheng2009-08-13 08:40:09

网上讲原理的很多,我也就没往上写