2012-12-11 55 views
2

我想在我的Scala應用中包含一些Bittorrent功能。如果我能爲他們的易用性,我想專門使用磁鏈。問題是我想使用像ttorrent這樣的預建庫。但是,我發現這些庫不使用磁鐵鏈接,它們使用metainfo或torrent文件本身。在Scala中使用磁貼來下載文件

所以我想我的第一步是採取磁鐵鏈接,並建立一個元信息對象自己。我非常瞭解磁鏈的組成,並且可以將它解析爲參數。 我只是不太確定如何使用磁鐵參數。我不知道如何處理他們。

這裏只是一個測試磁鐵鏈接我的PB發現工作:

magnet:?xt=urn:btih:ad11eb1a0aeed57116225fb341dc61883c22aeba&dn=Rise.of.the.Guardians.2012.TS.NEW.SOURCE.x264.AAC-UNiQUE&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80 

對它進行分析後,我得到:

xt=urn:btih:ad11eb1a0aeed57116225fb341dc61883c22aeba 
dn=Rise.of.the.Guardians.2012.TS.NEW.SOURCE.x264.AAC-UNiQUE 
tr=udp://tracker.openbittorrent.com:80 
tr=udp://tracker.publicbt.com:80 
tr=udp://tracker.istole.it:6969 
tr=udp://tracker.ccc.de:80 

夠簡單。現在我沒有使用過多的哈希值,但我很確定我無法直接從它獲取任何信息。我唯一的猜測是,我可能需要聯繫其中一個追蹤者才能獲取metainfo。雖然我不確定。

[fyi] torrent只會用於合法共享,在應用程序的用戶之間共享應用程序數據和應用程序文件。

回答