Suche P2P WinSock Tutorial



  • joomoo schrieb:

    Jetzt suche ich halt ein TUtorial für Winsocks mit dem Client-

    Wie "c.rackwitz" erklärt hat: Es gibt bei TCP kein "Client-Client" System!!! Einer muss der Server sein, der andere der Client!



  • Jochen Kalmbach schrieb:

    joomoo schrieb:

    Jetzt suche ich halt ein TUtorial für Winsocks mit dem Client-

    Wie "c.rackwitz" erklärt hat: Es gibt bei TCP kein "Client-Client" System!!! Einer muss der Server sein, der andere der Client!

    UNd wovon redet der Typ in dem Tutorial da?

    mfg.



  • joomoo schrieb:

    Jochen Kalmbach schrieb:

    joomoo schrieb:

    Jetzt suche ich halt ein TUtorial für Winsocks mit dem Client-

    Wie "c.rackwitz" erklärt hat: Es gibt bei TCP kein "Client-Client" System!!! Einer muss der Server sein, der andere der Client!

    UNd wovon redet der Typ in dem Tutorial da?

    Der versteht selber nicht was er schreibt... das was er als Client-Client beschreibt ist nichts anderes als:

    Client->Server
    Server<-Client



  • der redet davon, dass "client-client" auch nur client-server ist, aber beide clients gleichzeitig server sind.



  • Jochen Kalmbach schrieb:

    joomoo schrieb:

    Jochen Kalmbach schrieb:

    joomoo schrieb:

    Jetzt suche ich halt ein TUtorial für Winsocks mit dem Client-

    Wie "c.rackwitz" erklärt hat: Es gibt bei TCP kein "Client-Client" System!!! Einer muss der Server sein, der andere der Client!

    UNd wovon redet der Typ in dem Tutorial da?

    Der versteht selber nicht was er schreibt... das was er als Client-Client beschreibt ist nichts anderes als:

    Client->Server
    Server<-Client

    Aha. Und was sind verbindungslose/connectionless Sockets?

    mfg.



  • joomoo schrieb:

    Aha. Und was sind verbindungslose/connectionless Sockets?

    UDP



  • Jochen Kalmbach schrieb:

    joomoo schrieb:

    Aha. Und was sind verbindungslose/connectionless Sockets?

    UDP

    Okay danke.

    Jetzt meine Frage: Gibt es eine einfache Möglichkeit das Problem mit dem Umleiten beim öffnen eines Servers zu umgehen? Ich meine, mit dem Gedanke im hintergrund, einen externen server wie bei skype zu haben, der z.b. ip adressen etc austauschen kann.
    (ich dachte das würde mit peer-to-peer zu lösen sein)

    mfg.



  • peer-2-peer ist kein goettliches allheilmittel, das in allen erdenklichen formen erscheint und dich gluecklich macht.
    lies dir mal den wikipedia-artikel zu Kademlia durch, dann wirst du vielleicht verstehen.

    p2p sieht so aus:
    jeder peer ist von aussen erreichbar (also MUSST du den router perforieren).
    jeder peer hat die IPs und ports von einigen anderen peers.
    ein peer verbindet zu bekannten peers und tauscht peerlisten aus.

    die organisation von suchmustern etc bin ich zu faul dir zu reiterieren. -> kademlia



  • c.rackwitz schrieb:

    ein peer verbindet zu bekannten peers und tauscht peerlisten aus.

    Wenn er sich verbindet, dann muss also der andere Peer listen oder wie das heißt? Aber wie soll das gehen, wenn beide wegen des Routers das nicht können?

    mfg.

    edit: Hab's gerade kurz gelesen, die pdf datei, und jetzt hab ichs verstanden. okay, wie ich mir das vorgestellt hab geht wohl nicht, thread kann geschlossen werden.
    Danke an euch, vorallem für die pdf datei.



  • das einzige was ich dazu noch kenne ist der ansatz das man einfach nen port festlegt z.b. 13000 und dann alle ips diesen port abklappert und immer wenn ne verbindung zu standekommt überprüfst du ob es sich um dein programm handelt und danach kannstde loslegen problem dabei ist nur das es bei 2-10 nutzern zu lange dauert im netzwerk würde es vielleicht noch klappen da du ja dort den ip bereich auf deine subnetmaske einschränken könntest



  • Das ganze könnte man mit einem P2P Central Arbiter lösen. Hat im Endeffekt alle Eigenschaften von reinem P2P. Unterschied: Jeder neue Client muss sich an einer zentralen Stelle anmelden, welcher dann die aktuelle Peerliste verteilt.
    Davon abgesehen werden Statusupdates vom CA beobachtet und auf ihre Konsistenz überprüft. D.h., dass z.B. in einem Spiel unmögliche oder nicht zum Spiel gehörige Modifikationen (wie z.B. Ritter haut mit Schwert auf Wolf, der 10km entfernt ist und trifft, weil der Spieler seine Waffe "illegal" modifiziert hat) verhindert.

    Könnte man dann noch weiter spinnen zu einem P2P Multiple Central Arbiter etc. pp. aber das wäre glaube ich zu viel des Guten 😉


Anmelden zum Antworten