Good good study Day day up
12
15
C++智能指针 C++智能指针
简介 接触Aria2项目已经有大半年多了,对于项目的源码实现思路都有更深入的了解,通过接触Aria2 也让我了解了C++ 11的更多高级的特性,比如智能指针,该项目大量的采用智能指针的方式,可以做到很巧妙的不用处理内存释放的问题,整个项目源
2018-12-15 AheadSnail
06
Aria2 改造Tracker逻辑 Aria2 改造Tracker逻辑
简介 最近在使用Aria2的时候,发现了一个问题,Aira2中的Tracker 地址请求是独立的,也即不是并发的请求的,对于一个种子有多个Tracker 的时候,当第一个主机跟第一个Tracker 地址连接上之后,对于其他的Tracker
2018-12-06 AheadSnail
01
scrcpy 源码分析 scrcpy 源码分析
简介 前面一篇文章介绍了scrcpy 的使用,以及对应的编译,可以实现在Ubuntu 编译调试的客户端代码,这篇文章会介绍 简要的介绍下scrcpy的源码实现,在介绍scrcpy源码之前,可以查看 https://github.com/Ge
2018-12-01 AheadSnail
11
26
scrcpy 使用以及编译 scrcpy 使用以及编译
简介 scrcpy 此应用程序提供USB(或通过TCP / IP)连接的Android设备的显示和控制。 它不需要任何root访问权限。 它适用于GNU / Linux,Windows和MacOS。而且最主要的是他是一个开源的应用,在git
2018-11-26 AheadSnail
16
Aria2 添加 natpmp,upnp 协议支持 Aria2 添加 natpmp,upnp 协议支持
简介什么是UPnp 所谓 UPnP ,就是“通用的即插即用” ,注意是通用的,虽然很容易和 Windows 的即插即用混淆,但这肯定不是微软的专利!现在大部分的路由器都支持这个功能,只是默认情况下没有打开而已(基于安全考虑)。请管理员手动
2018-11-16 AheadSnail
12
Aria2 Utp下载限速实现 Aria2 Utp下载限速实现
简介前面一篇中介绍了Aria2 tcp下载,上传限速的原理,并且对utp的的限速也做了大概的分析,对应上传限速来说,本身是没有任何的区别,但对于utp的下载限速来说前面分析到按理来说是做不到真正意义上的限速,但是我观察发现transmiss
2018-11-12 AheadSnail
06
Aria2 限速原理以及Utp限速处理 Aria2 限速原理以及Utp限速处理
简介绝大多数的Bt下载都含有限速的功能,包括限制上传的速度,以及下载的速度,更有甚者拿限速来要求用户充值会员,比如百度网盘下载,迅雷等, 为什么我们需要去限速 因为我们使用Aria2下载只会在用户的下载过程中去贡献带宽,至于为什么只在下载
2018-11-06 AheadSnail
05
Aria2 RPC 实现机制 Aria2 RPC 实现机制
简介RPC(Remote Procedure Call Protocol)–远程过程调用协议 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携
2018-11-05 AheadSnail
10
30
Aria2 打洞实现 Aria2 打洞实现
打洞需知 我们前面辛辛苦苦移植了utp就是为了打洞,而打洞就会有成功或者失败,在做这个项目之前就有必要去调查下我们用户打洞可以成功的概率,而STUN就可以检测用户的网络类型,判断那些是不可以打洞那些是可以打洞成功 在了解STUN之前,我
2018-10-30 AheadSnail
27
Aria2 JNI代码的优化 Aria2 JNI代码的优化
问题的引出 前几天有一个需求是当Bt下载在一段时间之内当平均的下载速度小于某一个值的时候,要自动的切换成传统的Http下载,当然也要提供一个可以外部手动切换的功能,考虑到每一个下载任务都要做监听就会去考虑性能的问题,而且之前老大发现这个程
2018-10-27 AheadSnail
22
Aria2 组播实现 Aria2 组播实现
组播 组播协议允许将一台主机发送的数据通过网络路由器和交换机复制到多个加入此组播的主机,是一种一对多的通讯方式。组播协议与现在广泛使用的单播协议的不同之处在于,一个主机用单播协议向n个主机发送相同的数据时,发送主机需要分别向n个主机发送,
2018-10-22 AheadSnail
18
Aria2移植utp Aria2移植utp
简介先来了解下打洞的基础知识: 点对点穿透 需要实现的是对NAT的穿透。想实现NAT的穿透,当然要先了解NAT到底是什么,以及NAT是用来干什么的。 NAT全称Network Address Translation,意思是网络地址转换,在
2018-10-18 AheadSnail
17
Aria2源码分析 Aria2源码分析
简介 之前文章分析过,怎么样使用Aria2,以及对应的编译,如果只是做为简单的使用的化,估计早就已经解决了问题,先说说使用这个项目的原由吧,就是公司想节省带宽,比如在下载游戏,下载视频等方面,所以可以使用p2p技术,而Aria2是p2p开源
2018-10-17 AheadSnail
16
Kaillera对战库源码分析以及改进 Kaillera对战库源码分析以及改进
Kaillera测试代码的编写前面一篇文章大致的介绍了Fba流程,这篇会大致的讲解下Kaillera对战库的实现,以及改进的方式,最后怎么样移植到Android上面,首先是对战库的大致的实现,我们可以在前面调试这个对战库的代码来看代码这样会
2018-10-16 AheadSnail
15
Fba 街机对战实现 Fba 街机对战实现
Fba源码分析 前面一篇文章中分析了FBa 中引入开源的Kaillera库,可以实现街机的对战,简要的介绍了他对应的功能,也从对应的网站上下载到了开源的代码,客户端以及服务端,测试是可以使用的,下面就简要的分析 下,这个对战库在Fba 源码
2018-10-15 AheadSnail
10
Fba 街机对战研究的准备 Fba 街机对战研究的准备
概述 Fba 街机对战研究的准备 Kaillera前面一篇文章已经分析过,Fba街机的编译过程,像Window下的编译已经完成,Fba本身是支持对战的,只是对战是采用第三方的库实现的,window下的街机实现,只是在使用的时候链接进来这
2018-10-10 AheadSnail
05
Fba 街机单机实现 Fba 街机单机实现
简介这里总结下之前做的街机项目,要不然过段时间之后会忘的一干二净,目前街机主流的好几种,比如 fc,Fba,Mame,小鸡等, 而目前做的比较好的就是悟饭的游戏厅了,里面集成了多种的街机版本,但是Fba仍然是他们的主流,之前有尝试过使用Ma
2018-10-05 AheadSnail
08
24
垃圾收集器与内存分配策略 垃圾收集器与内存分配策略
简介 说起垃圾收集器(Garbage Collection ,GC) 大部分人都把这项技术当做Java语言的伴生产物,事实上,GC的历史比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言当Lis
2018-08-24 AheadSnail
1 / 4