Announcement

Collapse
No announcement yet.

Peer-to-Peer Anwendungen...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Peer-to-Peer Anwendungen...

    Hallo,

    kennt jemand irgendwelche interessante Seiten zum Thema "Peer-to-Peer Applications". (z.B. Anwendungen wie Napster u.ä.) Ich habe das Buch "Peer-to-Peer; Harnessing the power of disruptive technologies" bestellt. Soll gut sein, kommt aber erst in paar Tagen. Im deutschsprachigen Raum ist das Thema wohl nur auf der Anwenderseite angekommen. Oder?

    Ich suche nach technischen Beschreibungen, Implementierungsstrategien in z.B. Java/C++, Projekterfahrungen aus diesem Bereich usw.

    Wäre nett, wenn jemand ne Antwort hätte.

  • #2
    <p>Hi Michael,<br>
    Das ist ein iteressantest Thema, es gibt mehrere verschiedene Ansätze.</p>
    <p>
    Am besten ist es wohl, wenn du dir fertigen Code ansiehst. Auf http://sourceforge.net gibt es viele OpenSource-Clients für gängige Filesharing Protokolle. (z.B. JAG für AudioGalaxy, eMule für eDonkey, zahllose Gnutella-Clients für jede erdenkliche Plattform...)
    </p>
    <p>
    Man sollte sich am besten vorher über die Netzwerkarchitektur genaue Pläne machen (z.B. ob man einen zentralen Server will oder nicht, wie und wo die Dateien indiziert werden sollen, ob man verschlüsselt oder nicht...).<br>
    Grundsätzlich ist ein binäres Protokoll vermutlich der beste Ansatz.<br>
    Ich hab sowas schon mal ausprobiert, und es hat sich herausgestellt, dass es am einfachsten ist, wenn man binäre Blöcke austauscht, die einen festen Aufbau haben und über MessageIDs eindeutig definiert werden und ein Feld mit der Angabe der Größe des Blockes enthalten.
    (ähnlich wie das Chunk-basierte SWF Fromat von Macromedia die Daten speichert).<br>
    </p>
    <p>
    Man sollte sich auch überlegen, wann man synchrone Sockets, wann asynchrone, und wann Threads verwendet. (Bei mir hat es sich bewährt, Suche, Login etc. mit asynchronen Sockets zu implementieren, und den Dateitransfer mit synchronen Sockets in Threads.<br>
    Gute Planung und ein festes Konzept sind meiner Ansicht nach sehr wichtig, sonst kommt man sehr schnell zu unübersichtlichem Implementationchaos.
    </p>
    <p>
    Ich muss leider zugeben, dass ich nie ein Buch über das Thema gelesen habe, und nur einmal zum Spaß ein kleines Experiment mit dem C++ Builder gemacht habe...<br>
    </p>
    <p>
    Viel Spaß beim Experimentieren, denn da hast du dir was vorgenommen!<br>
    Ciao, Peter
    </p&gt

    Comment

    Working...
    X