aardio 文档

wsock.bt.kBucket 库模块帮助文档

wsock.bt 成员列表 #

wsock.bt.kBucket #

DHT 路由表。
注意所有 nodeId 应当始终使用字符串类型。
bencode 解码的二进制数据也都是字符串。

wsock.bt.kBucket() #

返回对象:wsockDhtKBucketObject

wsock.bt.kBucket(dhtDat,k=8) #

创建 DHT 路由表。
参数 @dhtDat 可用文件路径指定本地路由表数据文件路径。
如果文件不存在则会创建默认数据。

wsockDhtKBucketObject 成员列表 #

wsockDhtKBucketObject.addBootstrapNodes(nodes) #

添加启动节点。
参数为二维数组格式。
wsock.bt.会自动添加以下参数:

[  
    {"router.bittorrent.com", 6881},  
    {"dht.transmissionbt.com", 6881},  
    {"router.utorrent.com", 6881}  
]  

wsockDhtKBucketObject.addNode(node) #

添加一个节点。
参数必须用是包含 nodeId,ip,port 字段的表对象。

wsockDhtKBucketObject.cleanOldNodes(timeout) #

清理旧节点。
参数 @timeout 默认为 900 秒(15分钟),可以根据需要调整。
返回清理的节点数量

wsockDhtKBucketObject.getClosestNodesAsBuffer(infoHash,count) #

查询邻近节点。
参数 @infoHash 指定种子哈希,参数 @count 指定数量。
返回值为 buffer 对象。

wsockDhtKBucketObject.getNodeCount() #

返回节点数量

wsockDhtKBucketObject.save(path) #

保存路由表到本地文件。
参数 @path 指定文件路径,如果在构造参数中指定了路径则参数可省略。

Markdown 格式