你的位置:pcMing工作室 >> 资讯 >> 编程开发 >> C++编程 >> 详细内容 在线投稿

TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞

排行榜 收藏 打印 发给朋友 举报 来源: 互联网   发布者:未知
热度2454票  浏览984次 【共0条评论】【我要评论 时间:2010年4月08日 20:18
pcMing工作室-u4Kz5z4Op~X P

pcMing工作室 h7c*]fb_9?

程序执行步骤和方法:

d9IB&F!Zjg0
  1. 要准备好环境,如果要真实测试的话需要用2个连到公网上的局域网,1台具有公网地址的电脑(为了协助我测试,小曹、小妞可费了不少心,我还霸占了他们家的电脑,在此表示感谢)。如果不是这样的环境,程序执行可能会不正常,因为我暂时未做相同局域网的处理。
  2. 在具有公网地址的电脑上执行“TcpHoleSrv.exe”程序,假设这台电脑的公网IP地址是“129.208.12.38”。
  3. 在局域网A中的一台电脑上执行“TcpHoleClt-A.exe 129.208.12.38”
  4. 在局域网B中的一台电脑上执行“TcpHoleClt-B.exe 129.208.12.38”

!f#|I1{@0程序执行成功后的界面:客户端出现“Send Data”或者“Received Data”表示穿越NAT的TCP连接已经建立起来,数据收发已经OK。pcMing工作室!jZ5e(iGY

pcMing工作室^1g Z#z5h c


/Zn'j7N h3L-g%F5@0
3O2w C7cNJ~0服务器S
e0x^-D| n1M6O0pcMing工作室 ui.R%j@D{.dK._
pcMing工作室4g*U2H;a,LGl@ g
客户端A
'R0Q+XX d:z rJfw0pcMing工作室;T v(w [b:G
pcMing工作室EiP#Xt@gp MO5O
客户端BpcMing工作室+U/A sz1g6T$|
pcMing工作室`|H?'RR.O IUI6}wn
pcMing工作室%^0D5~"gKau$M

{j8?!x.Y0 pcMing工作室]um {:?`!f ^5I

本代码在Windows XP、一个天威局域网、一个电信局域网、一个电话拨号网络中测试通过。pcMing工作室!Ap MMr Wb H{*[
由于时间和水平的关系,代码和文章写得都不咋的,但愿能起到抛砖引玉的作用。代码部分只是实现了不同局域网之间的客户端相互连接的问题,至于相同局域网内的主机或者其中一台客户端本身就具有公网IP的问题这里暂时未做考虑(因为那些处理实在太简单了,比较一下掩码或者公网IP就能判断出来的);另外程序的防错性代码重用性也做得不好,只是实现了功能,我想

.RbxR~d5`.DqL Yu0

x~Mfl0下载源代码pcMing工作室~GJ$Y2I|`%H

顶:124 踩:148
对本文中的事件或人物打分:
当前平均分:-0.08 (782次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.19 (693次打分)
【已经有707人表态】
109票
感动
80票
路过
89票
高兴
76票
难过
86票
搞笑
85票
愤怒
95票
无聊
87票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】

网络资源