einen DHT-Knoten implementieren, möchten Sie wahrscheinlich die DHT-Spezifikation lesen:
http://www.bittorrent.org/beps/bep_0005.html
Es beschreibt das Nachrichtenformat. Wenn Sie nicht vertraut mit dem zugrundeliegenden DHT sind, dann müssen Sie wahrscheinlich das Kademlia-Papier zu lesen, wie gut:
http://www.cs.rice.edu/Conferences/IPTPS02/109.pdf
Sobald Sie und läuft auf dem DHT sind, und Sie beginnen zu sehen, info-Hashes fliegen indem Sie einen Bittorrent-Client implementieren. Oder zumindest die nackten Knochen eines um Peer-Verbindungen zu machen und eine Teilmenge des Bittorrent-Protokoll zu sprechen, die hier beschrieben wird:
http://www.bittorrent.org/beps/bep_0003.html
Sie meist nur müssen in der Lage sein, um eine TCP-Verbindung zu machen und Händedruck, als hättest du nichts. Dann die Metadaten (oder .torrent-Datei) herunterladen, müssen Sie die ut_metadata
Erweiterung unterstützen, die auf dem allgemeinen Erweiterung Protokoll sitzt, hier beschrieben:
http://www.bittorrent.org/beps/bep_0010.html
ut_metadata Erweiterung ist hier beschrieben:
http://www.bittorrent.org/beps/bep_0009.html
Ones Sie Metadaten für Hashes Sie sehen, sollten Sie im wesentlichen festgelegt werden. Dann ist es nur eine Frage des Extrahierens und Indexierens von Informationen wie Namen, Dateinamen, Dateigrößen usw. aus Torrent-Dateien (Sie haben eigentlich nur das Infodiktat der Torrent-Dateien, aber das ist der wichtige Teil).
Angesichts der Tatsache, dass dies eine ganze Menge Arbeit zusammen ist, möchten Sie möglicherweise mit Bibliotheken, die dies bereits tun und betrachten sie irgendwie in PHP ziehen. Sie können zum Beispiel einen Blick auf libtorrent werfen.
Gute Zusammenfassung der Spezifikationen im Zusammenhang mit BitTorrent und DHT! – Kyberias