Domanda

Voglio raccogliere statistiche dalla diffusione di un file in un nuovo sciame BitTorrent senza in realtà scaricare nulla (o il meno possibile). Ho bisogno di sapere che tra pari ha quali pezzi (per fare statistiche basate file) conoscere il numero di seeder e leechers o percentuali non è sufficiente. Più tardi, quando ci sono tanti coetanei ho bisogno di scaricare i dati per determinare quello che è. Questa parte può essere fatto con un client torrent regolare.

Non ho intenzione di implementare il protocollo di me così ho guardato 2 implementazioni libtorrent e libbtcore di KTorrent. Nessuno dei due è in grado di raccogliere dati mentre non scaricare semplicemente non ci sono peer connessi quando non c'è nulla da scaricare. Libtorrent è più semplice, ma ktorrent sembra meglio commentato.

Vedo 3 possibilità:

  • Utilizzare alcune applicazioni proprio per questo. Ci sono dei?
  • Modifica un'implementazione torrente a fare quello che voglio. È chiunque abbia familiarità con loro? Da dove cominciare?
  • Implementare un piccolo sottoinsieme del protocollo. Basta chiedere periodicamente i coetanei ciò che hanno. È questo realizzabile o il programma deve sostenere quasi il protocollo completo?

Che cosa mi consiglia?

È stato utile?

Soluzione

Questa è una vecchia questione, ma forse questa risposta potrebbe essere utile per gli altri.

  
      
  • Utilizzare alcune applicazioni proprio per questo. Ci sono dei?
  •   

Non che io sappia.

  
      
  • Modifica un'implementazione torrente a fare quello che voglio. È chiunque abbia familiarità con loro? Da dove cominciare?
  •   

Sono solo familiarità con il nucleo BitTornado (che viene utilizzato in esempio ABC). E 'scritto in Python, ma è un disastro architettonico.

Tuttavia, si può solo prendere qualsiasi implementazione e iniziare a nudo dalla funzionalità non necessarie.

  
      
  • Implementare un piccolo sottoinsieme del protocollo. Basta chiedere periodicamente i coetanei ciò che hanno. È questo realizzabile o il programma deve sostenere quasi il protocollo completo?
  •   

Si noti che non si può "chiedere" un pari ciò che hanno. L'altro pari informa ogni volta che vuole circa i pezzi che ha (così è Push al posto di estrarre ). Dopo la stretta di mano di BitTorrent, un peer può inviare un bitfield di pezzi che ha. In seguito può inviare messaggi hanno informato che si ha acquisito un nuovo pezzo. Si noti inoltre che i coetanei possono mentire sui pezzi che hanno. Gli esempi includono superseeding coetanei e freeride clienti come BitThief.

Se si desidera implementare un piccolo sottoinsieme del protocollo, avresti bisogno al minimo indispensabile implementare il messaggio di handshake BitTorrent e, preferibilmente, il messaggio di stretta di mano esteso. Quest'ultimo consente di ricevere (e inviare) i messaggi uTorrent PEX. PEX è utile per scoprire rapidamente altri peer nello sciame.

Per le statistiche la raccolta di scopi, è inoltre necessità di sostenere il campo di bit e avere messaggi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top