BitTorrent: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: piped wikilink superflui
Riga 101:
Il file torrent, come già visto, contiene le informazioni necessarie e sufficienti per identificare e scaricare un file dalla Rete in tutta sicurezza. Il file torrent è un file di testo che contiene la codifica in Bencode di un unico grande dizionario, il quale contiene a sua volta i dati, sotto forma di dizionari, che identificano il torrent. I seguenti elementi fanno parte del protocollo standard e comprendono le ultime estensioni: (quelli in '''grassetto''' sono richiesti dal protocollo standard)
 
*'''announce'''(stringa): indirizzo [[URL]] del tracker codificato come stringa [[ASCII]]
*''announce-list''(lista): estensione del protocollo verso il Multitracker. Il dizionario ''announce'' è comunque richiesto per retrocompatibilità
*''creation date''(intero): data di creazione codificata come [[timestamp Unix]]
*''comment''(stringa): un commento al Torrent codificato come stringa ASCII
*''created by''(stringa): programma che ha generato il Torrent
*'''info'''(dizionario): dizionario principale che descrive il contenuto del Torrent.
 
I suoi elementi possono variare se il Torrent è composto da uno o da più file
In caso di file singolo:
*'''length'''(intero): dimensione del file in byte
*''md5sum''(stringa): fingerprint [[MD5]] del file per migliore identificazione
*'''name'''(stringa): il nome del file in formato ASCII (i nomi UTF-8 e Unicode generano problemi di codifica)
In caso di archivio con più file:
*'''files'''(lista): la lista dei file contenuti nel Torrent
:*(dizionario): ogni file è rappresentato da un dizionario con la seguente struttura:
::*'''length'''(intero): dimensione del file in byte
::*''md5sum''(stringa): fingerprint [[MD5]] del file per migliore identificazione
::*'''path'''(lista): lista di stringhe che permette di ricostruire il percorso del file prendendo gli elementi del loro ordine
:::*(stringa): l'ultimo elemento rappresenta nome e estensione del file (esempio: "Dir1", "Dir2", "File.ext" rappresenta Dir1/Dir2/File.ext)
::*'''piece length'''(integer): lunghezza in byte di ogni parte in cui è suddiviso il(i) file
::*'''pieces'''(stringa): stringa che concatena le fingerprint [[SHA1]] del/i file in formato ASCII. Se in fase di creazione la stringa non ha lunghezza multipla di 20, essa viene completata con zeri.
<!-- Se qualcuno mi da una mano a formattare questo schema come struttura dati gli sarò grato -->