Windows服务有很多是无用或我们用不到的,可以关闭,节省内存,提高性能。具体见Windows服务列表。
原文永久链接:https://jijian91.com/blog20080331/close-windows-service.html
Windows服务有很多是无用或我们用不到的,可以关闭,节省内存,提高性能。具体见Windows服务列表。
原文永久链接:https://jijian91.com/blog20080331/close-windows-service.html
要优化BT服务器,除了分析BT体系结构和分析BT服务器源码,还需要简单了解一下BT客户端的动作。
BT架构很有意思,客户端比服务器复杂得多。现在有很多BT客户端,大多是在BitTorrent的基础上改造的,加上自己的优化,而且不开放源码。例如,国内最常见的BitComet就是如此。BitTorrent不甘于为别人做嫁衣,最近宣布停止开放源码。BitTorrent公开源码的最后一个版本是5.0.9,可以在这里下载。
继续…
原文永久链接:https://jijian91.com/blog20071024/bt-client-source-code.html
由上篇bnbt tracker执行流程,我们知道bt tracker的核心是/announce。BT客户端与tracker之间的通讯以及tracker内部是如何处理的呢?
我们从BT客户端发起请求开始。BT协议的具体内容不多说,参见这里。
BT客户端首先读torrent文件,例如:
d8:announce35:http://192.168.0.1:2222/announce10:created by13:BitComet/0.9213:creation datei1192120049e8:encoding3:GBK4:infod4:ed2k16:魖趸?[T,胕@驋8:filehash20:廹C<`鮾}瀽穤茕蛯]6:lengthi43e4:name11:AUTORUN.INF10:name.utf-811:AUTORUN.INF12:piece lengthi32768e6:pieces20:廹C<`鮾}瀽穤茕蛯]ee
继续…
原文永久链接:https://jijian91.com/blog20071019/bnbt-tracker-announce.html
bnbt是应用较广的开源BT服务器(BT tracker)。下面分析一下bnbt tracker的主要流程(注意:没有使用数据库):
bnbt源码全部是C++,程序起点是bnbt.cpp中的main函数。其中首先解析命令行参数,然后是与Windows服务相关的处理,最后调用bnbtmain函数。
bnbtmain函数也在bnbt.cpp中。主要解析配置文件、设置大量运营参数,然后创建CServer的实例gpServer,最后是在死循环中不断调用gpServer.Update().
继续…
原文永久链接:https://jijian91.com/blog20071018/bnbt-tracker-analysis.html
在bt体系运转过程中,tracker处于中心,是”全局单点”,所有的peer都要在tracker上注册、得到其他peer,并周期性地访问tracker更新信息。所以,如果tracker出现故障,peer间无法沟通,bt崩溃。
为了解决这个隐患,也为了加速peer间相互发现,搞了个DHT网络,bitcomet和BitTorrent Beta 4.1.1都支持。也就是允许peer互相交换peer列表,这样,即使tracker垮了,bt客户端也能通过已有的peer连接不断得到其他peer。但目前,DHT只是个补充。
继续…
原文永久链接:https://jijian91.com/blog20071012/bittorrent-architecture-detail.html