2009年5月6日

Azureus源码剖析(三)

摘要: 接着第一篇的工作,本篇继续分析种子文件监听服务器的实现细节。先简单描述下其工作流程,首先服务器在6880端口处开启一个套接字监听,然后开启一个守护线程用于处理到来的“打开种子文件列表”请求,在这个服务线程中不断循环读取来自客户的请求,对torrent文件列表进行解析。如果此时Azureus的各个组件都已经创建完毕,则说明Azureus的核心处理组件可用,则直接对torren... 阅读全文

posted @ 2009-05-06 22:50 Phinecos(洞庭散人) 阅读(1344) 评论(0) 推荐(0) 编辑

Azureus源码剖析(二) ---解析Torrent种子文件

摘要: BT种子文件使用了一种叫bencoding的编码方法来保存数据。bencoding有四种类型的数据:srings(字符串),integers(整数),lists(列表),dictionaries(字典)编码规则如下:(1)strings(字符串)编码为:<字符串长度>:<字符串>例如:4:test 表示为字符串"test"4:例子 表示为字符串“例子”... 阅读全文

posted @ 2009-05-06 21:50 Phinecos(洞庭散人) 阅读(5454) 评论(2) 推荐(1) 编辑

Azureus源码剖析(一)

摘要: 整个项目运行的起点在com.aelitis.azureus.ui.Main这个类中,它只有一个main主方法,运用Java的反射机制来调用真正的起始点类org.gudy.azureus2.ui.swt.Main的实例对象。代码如下:[代码]而在org.gudy.azureus2.ui.swt.Main这个类中有一个成员变量[代码]它是一个监听服务器,对本地的6880端口进行监听,监听的对象是tor... 阅读全文

posted @ 2009-05-06 18:40 Phinecos(洞庭散人) 阅读(2440) 评论(0) 推荐(0) 编辑

导航