折腾了一星期总算测试成功了,分享一下
首先介绍一下测试环境:
用了三台机器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 |
下载: | 下载 |
|
阅读(7757) | 评论(7) | 转发(3) |