ImageVerifierCode 换一换
格式:DOC , 页数:2 ,大小:30.50KB ,
资源ID:3520414      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3520414.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(P2P穿透防火墙源码分析.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

P2P穿透防火墙源码分析.doc

1、P2P 之 UDP 穿透 NAT 源码分析说明:有关这方面的介绍很多,请参考 P2P 之 UDP 穿透 NAT 的原理与实现的讲解。主要技术就是 NAT,网络地址转换。要强调的一点是,当内网客户端要连接公网服务器时,会在 NAT 上建一个 Session,并且分配一个端口(十分重要),并且记录相应的公网 IP 地址和端口。这个时候,从该公网服务器发送的数据到该端口的数据,将会被转发到该内网客户端,其它 IP 发送到该端口的数据,将被抛弃。如果客户端的套接字同时向两个不同的公网服务器连接。NAT 的处理是不同的,Symmetric NAT 是会再建一个 Session 并且分配一个新端口号,而

2、Cone NAT 会再建一个Session,但仍然使用原来的端口号。穿透原理:返回到前面讲的内容。我们要收到外网的数据,必须要发送一个数据包,会在 NAT 上建一个 Session,并且分配一个端口(十分重要),并且记录相应的公网 IP 地址和端口。就可以收到该公网发送过来的信息。所以问题就变为:内网客户端 A 发送一个数据包连到 NATB 的公网地址。然后就可以接收到 NATB 公网地址发送过来的数据(其实是由内网用户外发,它只是转发) 。但是现在问题来了: A 客户端通过公网服务器得到了 NATB 的外网 IP 及端口,于是就发数据过去,满怀信心的等待连接,没想到数据到了 NATB 这里,

3、NATB 说:“我内网的用户又没有连接你,那有不请自己来,我不认识你。 ”于是就把数据抛弃了。B 客户端也同样这样。A 和 B都想把公网 NAT 信息告诉对方,只要有一方收到消息就可以通信,问题是双方没有连接,怎么能通知该消息呢?所以这个问题就需要由公网服务器来处理。当 A 想和 B 通信的时候, 需要向公网服务器发送消息,由公网服务器把消息发送给B,B 再向 A 发送连接请求(打洞)。然后 B 就可以接受 A 的消息了。B 想和 A 通信的时候,也是同样的道理。这样 A 即能和公网服务器通信,又可以和 B 客户端通信了。注意:因为 NAT 设备会收回一些不活动的 Session,因此,双方必

4、须经常互发心跳数据包,让 Session 一直存活着。服务器端源码简单分析:服务器启动后,启动消息线程。接受数据,然后,根据消息头(登录,下线,打洞,得到用户列表,发送文件等) 。登录流程:就创建一个用户结构,并把用户的姓名,IP,端口号加入到用户列表中(这里用户的 IP,实际是 NAT 的公网 IP) 。下线流程:直接从用户列表中删除该用户信息。用户列表:定时发送用户列表给用户,或者用户主动请求用户列表。打洞:A 客户端请求连接 B 客户端的,把 B 客户端的 IP,端口号(NAT 外网地址)发送给 B,B 收到之后发送一个数据到 A 的 NAT 外网地址。客户端源码简单分析:登录流程: 把用户信息,发送给公网服务器。退出流程: 发送相应消息,给公网服务器。用户列表: 发送相应消息,从公网服务器得到用户列表信息。连接其它客户:*流程:直接向某个用户的外网 IP 发送消息,如果此前没有联系过* 那么此消息将无法发送,发送端等待超时。* 超时后,发送端将发送一个请求信息到服务端,* 要求服务端发送给客户 C 一个请求,请求 C 给本机发送打洞消息* 以上流程将重复 MAXRETRY 次一个线程接受数据:接受消息:其它用户发来的消息接受公网服务器发来的打洞消息。接受用户列表消息。接收公网服务器发来的心跳数据。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。