我开始使用tocurrent(Turn的BitTorrent Java库)来创建一个本地网络同步文件夹。
我的目标是使用torrent协议同步节点硬盘驱动器中的大文件。但我不知道如何使用当前创建一个新的torrent文件。
我需要:1) 一个新文件被添加到一个节点。2) 其他节点接收存储文件并开始从第一个节点下载该文件,或者从已经下载该文件部分的其他节点下载片段,从而加快了下载时间。通过这种方式,我可以避免每个节点从服务器下载千兆字节(并等待一整天)。
如果不知道如何为新添加的文件创建torrent文件(或者是否存在更好、智能的方法),我就无法继续。
我可以有一个中心点作为跟踪器。
谢谢。
感谢fujohnwang
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();
}
}
}