2015-02-09 10 views
0

Я начал использовать ttorrent (Turn's BitTorrent Java library), чтобы создать локальную сеть с синхронизированной папкой.Как использовать ttorrent для создания торрент-файла?

Моя цель - использовать протокол torrent, чтобы синхронизировать большие файлы в узлах жестких дисков. Но я не вижу, как создать новый торрент-файл с помощью ttorrent.

Мне нужно: 1) Новый файл добавляется к одному узлу. 2) Другие узлы получают файл torent и начинают загружать этот файл с первого узла или частей из других узлов, которые уже загружают эту часть файла, ускоряя время загрузки. Таким образом, я могу избежать того, чтобы каждый узел загружал гигабайты с сервера (и ждать весь день).

Я не могу идти вперед, не зная, как создать торрент-файл для этого нового добавленного файла (или если существует лучший и умный способ).

У меня может быть центральная точка, чтобы служить в качестве трекера.

Спасибо.

+0

Я рекомендую использовать одинарные торренты, иначе вам придется перекраивать все файлы, если вы хотите, чтобы остановить обмен один. Или, альтернативно, используйте взломанный файл BitComet, который не очень популярен среди общедоступных торрентов, но должен работать на вас. – CodesInChaos

ответ

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

    } 

}