Weiß garnicht ob das hier reinpasst, hat aber was mit Netzwerk zu tun
Ich möchte eine Art kleines FileSharing Netzwerk programmieren (über Sinn und Unsinn möchte ich hier jetzt nicht diskutieren). Ich würde das ganze gerne mit 5-10 Freunden ausprobieren. Das ganze soll ja kostenlos sein (also keine Kosten für den Anwender und für mich), daher fallen so Ideen wie Server mieten schonmal weg. DEn bei 5-10 Leuten fällt dementsprechend viel Traffic an, mit dem meine 6000er Leitung nciht mithält
Deshalb habe ich mir überlegt das ganze so Peer-To-Peer Mäßig zu machen. Jetzt steh ich aber vor ein paar Problemen:
1. Könnte man dafür auch
FTP benutzen? Zur Datenübertragung bringt es ja genug mit und soweit ich weiß kann man auch eigene Kommandos definieren und verarbeiten. Oder doch lieber Sockets und ein eigenes Protokoll bzw. die
TCP Indys. Hier ist das Problem, das der Normalverbraucher große Augen mach, wenn mann ihm sagt, das er bitte den Port 62195 an seinem Router weiterleiten soll
Hier ist ja
FTP im Vorteil und auch UDP bittet sich an.
2. Es geht darum eine Art Community zu bilden die jederzeit erreichbar ist ohne Server. Ich könnte zumindesten meinen Heim-PC als MasterServer nutzen, der die
IP-Adressen für das Peer-To-Peer bereitstellt (bei dem sich halt die einzelnen Programme immer melden und ihr
IP übergeben). Ich könnte mir vorstellen das der "Client" (ich nenne ihn mal so, auch wenn es ja bei P2P keiner ist) von jeder Datei die man freigeben möchte einen MD5-Hash erstellt und dann eine Liste an den Masterserver übermittelt. Der Masterserver fast dann zusammen, welche Dateien auf welchem Rechner liegen (um Dopplungen in der Liste zu vermeiden). Dann kann man sich eine Datei von einer Person runterladen oder vllt. sogar von mehreren. Das wäre dann ja ziemlich Torrent ähnlich.
Hat jemand schonmal etwas ähnliches gemacht? Oder vllt. hat auch einer eine Idee was das angeht.
Danke,
Lukas