DHT 是BitTorrent DHT 协议的实现,采用Go语言。主要包括以下部分:
BEP-3 (part)
BEP-5
BEP-9
BEP-10
展示截图:
安装:
go get github.com/shiyanhui/dht
使用示例:
import ( "fmt" "github.com/shiyanhui/dht" ) func main() { downloader := dht.NewWire() go func() { // once we got the request result for resp := range downloader.Response() { fmt.Println(resp.InfoHash, resp.MetadataInfo) } }() go downloader.Run() config := dht.NewCrawlConfig() config.OnAnnouncePeer = func(infoHash, ip string, port int) { // request to download the metadata info downloader.Request([]byte(infoHash), ip, port) } d := dht.New(config) d.Run() }