网游更新平台介绍及下载(已开源)
来源:互联网 发布:淘宝网上卖家中心在哪 编辑:程序博客网 时间:2024/04/30 22:59
我们开发了一个基于BT的互联网文件下载和更新系统。
BT的优点:多个用户下载同一个源的时候,用户之间可以互通有无、互相提供对方没有的数据块。这可以减轻服务器压力,提高分发速度。
BT的缺点:其种子文件的格式无法适应在游戏更新时,往往只有小部分数据(某些文件或文件的某些块)需要下载的情况。因为它在生成种子文件时,是把多个文件连接成为一个不间断的"字节流",然后按块生成hash。当某些文件改变时,无法通过新旧种子文件的比对快速计算出哪些块需要更新。
我们的改进:我们改进了种子文件的格式,改进之后的格式是每个文件拥有自己的hash,而不是所有文件的hash串在一起。这样当游戏更新时,能够通过新旧种子文件的快速对比,计算出需要下载的块,然后下载需要更新的块数据再应用到相应的文件即可完成更新,这大大减小了需下载的数据。其它方面的改良都是围绕更新而进行(如临时文件功能等)。
系统在标准BT协议的基础上改进而来,充分利用了BT成熟稳定快速的特点,因此多数概念与BT一样。包括种子的概念、Tracker服务器以及P2P数据输等。
本系统包括三个部分:服务器、客户端和控制界面程序。
服务器: 是一个Windows服务,提供种子文件的存取/管理/分发,和节点的注册(即Tracker)等功能。
客户端(下载核心): 是一个Windows服务,提供所有网络通信和文件读写功能。包括制作/上传/下载种子文件、下载/更新/上传游戏数据等等。
控制界面:是一个Windows界面程序,提供对下载核心的操作界面。
本系统不依赖其它任何的库或软件,体积小巧,运行稳定,拥有众多为游戏下载/更新而设计的特性(如自动补种等)!
-----------------
系统主要特点:
1、采用C语言设计,使用Windows完成端口技术,系统速度快而且资源占用较少;
2、采用单一主线程和多个辅助线程的设计,系统运行更加稳定可靠;
3、合理且简单可靠的设计,包括任务分类、任务排队及优先级安排等等;
4、相当完善的限速和下载优先级模式的设计和实现;
5、更新时可以将数据存入到一个临时文件,之后再一次性转储;
6、当一个资源缺少完整的来源时,自动唤醒专门的供种服务器;
7、完善的测试以保证系统可用性,杜绝困扰普通P2P下载软件的“99%”问题;
8、.....
开源地址:https://github.com/zhaozongzhe/gmDev
- 网游更新平台介绍及下载(已开源)
- 快递易数据管理平台更新及下载
- FusionCharts下载地址汇总及更新介绍
- FusionCharts下载地址汇总及更新介绍
- cellant_map 下载及更新
- 网游更新安全第一
- DesignOne介绍及下载
- 金山网游加速器 下载
- 使用虚拟机及puppylinux打造跨平台网游服务器开发环境
- 一、QTP介绍及下载
- Aptana介绍及下载地址
- PICVideo介绍及正版下载
- mock平台架构及实现(持续更新)
- 移动网游时代来临?国产网游登陆PSP平台
- Android各平台源代码下载及关联
- matlab r2012a下载及更新摘要
- java推荐书籍及下载(持续更新)
- SVN插件下载地址及更新地址
- 【C++】explicit关键字
- 期末,最后一周!!
- 第六节课 创建型模式(二)
- File encrypted properly but not signed properly!
- 《汇编语言》学习笔记
- 网游更新平台介绍及下载(已开源)
- IOCP错误处理(转)
- 关于 HTTP meta 的 IE=edge,chrome=1 说明
- 生成的exe文件在别的电脑上运行出现缺少dll文件或一闪而过
- 上拉下拉电阻的作用
- IOCP不可忽视的细节
- 人的各个年龄阶段
- jquery--bind()、live()、delegate()的用法与区别
- 求一个整数序列的最大子序列和(编程珠玑第八章)