首先发送一串B编码给指定的服务器,这个可以通过设定traker或者dht来指定这个服务器
session_handle.add_dht_router(std::make_pair(std::string("bt.teyouqu.com"), 6681));
发送内容
http://bt.teyouqu.com:2710/announce?info_hash=%8e%8c%da%a1%f1%83%3b%f6qv%f23%eeF%cf%e7dR%bbH&peer_id=-LT0F00-GNrIApqFvxvU&port=6881&uploaded=0&downloaded=0&left=16384&corrupt=0&redundant=0&compact=1&numwant=200&key=fd6aaf8b&no_peer_id=1&supportcrypto=1&event=started
具体字段内容请查看b编码格式
然后服务器会返回一个字符串,其中会有一些ip存在这些数据
48:54:54:50:2f:31:2e:30:20:32:30:30:20:4f:4b:0d:0a:0d:0a:64:38:3a:63:6f:6d:70:6c:65:74:65:69:31:65:31:30:3a:69:6e:63:6f:6d:70:6c:65:74:65:69:31:65:38:3a:69:6e:74:65:72:76:61:6c:69:31:38:30:30:65:31:32:3a:6d:69:6e:20:69:6e:74:65:72:76:61:6c:69:31:38:30:30:65:35:3a:70:65:65:72:73:31:32:3a:
3d:a4:9f:bc:1a:19:73:ec:32:e2:1a:e1:65
第二行就包含了一些dht ip端口, 1a 19代表端口号6681,3d:a4:9f:bc代表61.164.159.188
下一步就是跟这个指定的Ip连接了
连接上,发送一些估计是格式性的数据,就开始跟这个dht通信了
本文介绍了如何通过B编码向指定服务器发送请求,并解析服务器返回的数据获取DHT节点信息的过程。详细说明了设置服务器、构造请求内容及解析响应数据的方法。
1280

被折叠的 条评论
为什么被折叠?



