2015-02-09 84 views
0

我開始使用ttorrent(Turn's BitTorrent Java library)創建本地網絡同步文件夾。如何使用ttorrent創建torrent文件?

我的目標是使用洪流協議在節點硬盤上同步大文件。 但我看不到如何使用ttorrent創建一個新的torrent文件。

我需要: 1)將新文件添加到一個節點。 2)其他節點收到torent文件並開始從第一個節點下載該文件或從已下載該文件部分的其他節點中下載該文件,從而加快下載時間。這樣我就可以避免每個節點從服務器下載千兆字節(並且等待一整天)。

如果不知道如何爲該新添加的文件創建torrent文件(或者如果存在更好和更智能的方式),我不能繼續。

我可以有一箇中心點作爲跟蹤。

謝謝。

+0

我建議使用單一文件種子,否則你將需要老調重彈的所有文件,如果你想停止共享之一。或者使用BitComet的填充文件hack,這在公開可用的種子中不太受歡迎,但應該爲你工作。 – CodesInChaos 2015-02-10 12:12:19

回答

2

由於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(); 
     } 

    } 

}