J'ai presque terminé avec mon serveur torrent complètement. Tout ce que j'ai à faire maintenant est de savoir comment les fichiers .torrent remplissent la clé "morceaux" pour la clé info.Calculer (sha1) "morceaux" lors de la création de fichier torrent
J'ai actuellement cette information dans mon fichier torrent, encodé au format utf-8. Le hachage que vous voyez à la fin est un has du TITLE du fichier, pas même proche de la longueur de bit que j'ai spécifiée avant le deux-points. La longueur de bits pour des pièces a été calculé à l'aide (taille du fichier/longueur de pièce) * 20, et arrondi à l'aide ronde():
d8:announce64:http://www.valevarkasystems.com:40/torrents/tracker/announce.php
8:encoding5:UTF-84:infod6:lengthi71711042e4:name25:Executive Meeting480p.flv
12:piece lengthi128000e6:pieces11205:òOìcØq¬rkÑzÎõyjZee
Comment puis-je calculer correctement une valeur de la clé « pièces » à la fin?
Chaque fois que j'essaie de l'ouvrir dans Transmission, il est lu comme corrompu. Est-ce que j'utilise fopen(), saisissez une partie du fichier qui est "longueur de la pièce" et créer un hachage sha1 pour chaque pièce jusqu'à ce que j'atteigne la fin du fichier?
Merci,
http://wiki.theory.org/BitTorrentSpecification#Info_Dictionary –
@Marc Brown avez-vous regardé la source php bencode/BDecode peut-être que cela aiderait, je peux poster les deux classes si vous aimez –
@MarcB j'ai trouvé/était renvoyé cette page tant de fois que j'ai oublié j'avais trois onglets ouverts avec elle. Je comprends qu'ils veulent que je hache chaque pièce de fichier, c'est-à-dire file_get_contents() où le maxlen est la taille de mon morceau_length? Je pense que c'est tout ce que j'ai à faire, mais je ne suis pas sûr. –