我开始使用ttorrent(Turn's BitTorrent Java library)来创建本地网络同步文件夹。
我的目标是使用torrent协议在节点硬盘中同步大文件。 但我无法看到如何使用ttorrent创建一个新的torrent文件。
我需要: 1)将新文件添加到一个节点。 2)其他节点接收到torent文件并开始从第一个节点下载该文件或从已经下载该文件部分的其他节点下载,从而加快下载时间。这样我可以避免每个节点从服务器下载千兆字节(并等待一整天)。
如果不知道如何为新添加的文件创建torrent文件(或者存在更好更智能的方式),我无法继续。
我可以有一个中心点作为跟踪器。
感谢。
答案 0 :(得分:2)
public class Main {
public static void main(String[] args) {
// File parent = new File("d:/echo-insurance.backup");
String sharedFile = "d:/echo-insurance.backup";
try {
Tracker tracker = new Tracker( InetAddress.getLocalHost() );
tracker.start();
System.out.println("Tracker running.");
System.out.println( "create new .torrent metainfo file..." );
Torrent torrent = Torrent.create(new File(sharedFile), tracker.getAnnounceUrl().toURI(), "createdByDarren");
System.out.println("save .torrent to file...");
FileOutputStream fos = new FileOutputStream("d:/seed.torrent");
torrent.save( fos );
fos.close();
} catch ( Exception e ) {
e.printStackTrace();
}
}
}