全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、引言VeryCD emule 自去年推出LowToLow功能以来,经过很多网友热心的测试, 到限制为止已经比较稳定的运行了,VeryCD emule 是一个开源软件,我们遵循GPL的开放精神,开放了所有代码,但是emule的各项功能都有很大的完善空间, 我们相信还有很多网络编程爱好者热爱emule这个软件,但是由于没有相关的文档资料,估计想参与的网友可能也不知道该从何下手,因此我们准备在这里陆续贴出些资料,期待更多编程爱好者、网络系统架构师能参与进来,大家一起来完善改进emule这个优秀的P2P软件,大家一起来分享知识,分享编程的乐趣。二、VeryCD emule L2L相关类简介和架构图穿透功能代码主要在以下文件中实现:NatThread.cpp、NatSocket.hcpp、 TraverseBySourceExchange.cpp、TraverseBySvr.cpp、 TraverseStrategy.cpp、 SourceExchangeNAT.cpp它们主要完成以下类的的具体功能:CNatThread: 穿透功能的工作线程CNatSocket: 穿透成功,用于Peer之间通讯(也即FakeTcpSocket,用UDP模拟TCP通信,在这个类中的一些发送接收数据处理的算法我们采用了emule neo Mode的一些实现代码)CTraverseFactory 策略工厂,创建策略组合CTraverseBySvr 基于服务器穿透的策略类CTraverseBySourceExchange 基于源交换穿透的策略类CUnconnSocket 被动方收到穿透请求,创建CUnconnSocket,开始穿透CTraverseStrategy 穿透策略类的基类CSourceExchangeNAT 处理源交换穿透命令系统静态结构图如下:三、实现思路CAsyncSocketEx是TCP socket,emule通过它把数据发送出去。我们扩展了CAsyncSocketEx的Connect, Send, Receive三个函数。如果是穿透连接的话,走UDP穿透的通道,否则就按原来的TCP传输。这样的好处是:1 合理性。我们是改进数据传输方式,应该只改动传输相关的类(即CAsyncSocketEx),其它地方代码不应该受到大的改动,对其它逻辑不应该有大的影响。2 架构上耦合度小。主要是CAsyncSocketEx跟穿透有关系,代码与官方同步
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026温江美术面试题目及答案
- 挤压伤综合征治疗原则与补液方案2026
- 确认2026年合同付款时间节点函(5篇)
- 合同解除合伙人协议
- 健康产业之智慧健康管理与服务模式研究报告
- 夫妻借款购房协议书
- 合作方场地租赁合同签订确认函(5篇范文)
- 新员工入职流程手册修订确认函(5篇)
- 基于云计算的智能供应链管理平台构建方案
- 合作项目需求变更协商函6篇范文
- 2026年医院收费员考试试题专项及参考答案
- 2025年广东会考政治试卷(高中学业水平考试综合测评卷(一))【含答案】
- 院感知识培训课件模板
- 全国交管12123驾驶证学法减分考试题附答案
- 自然灾害综合风险公路承灾体普查技术指南
- 采购控制成本培训
- 医院培训课件:《病历书写规范要领》
- 左卡尼汀临床应用
- 大一(下)高数期终试题-A及答案
- 台风来袭防台风安全教育培训PPT
- 2,3-二甲基丁烷安全技术说明书MSDS
评论
0/150
提交评论