Suche P2P WinSock Tutorial



  • Pseudo Psycho schrieb:

    http://www.hal-pc.org/~johnnie2/winsock.html

    Wo steht da was von Peer-to-peer??

    Also ich drücke mich mal etwas kongreter aus: Ich möchte kein p2p netzwerk programmieren oder filesharing, sondern eine p2p verbindung, nähmlich, dass beide seite clients sind. (client-client auch genannt) Dabei werden die IP-Adressen vorherausgetauscht, und dann verbinden sich die clients. Allerdings ohne, dass einer einen Server aufmacht, also funktioniert dass ganze auch, wenn beide an einem Router hängen, der den entsprechenden port nicht weiterleitet (virtual server).

    Ich hoffe ihr habt verstanden was ich suche.

    mfg.



  • die art p2p gibts nicht.

    eine seite muss IMMER einen server socket offen haben, wenn du mit verbindungen frickelst.
    durch einen router kommst du von aussen nur, wenn der dich reinlaesst (port forwards, DMZ, ...)

    erklaere was du willst und gehe nicht von irgendwas aus.



  • c.rackwitz schrieb:

    die art p2p gibts nicht.

    eine seite muss IMMER einen server socket offen haben, wenn du mit verbindungen frickelst.
    durch einen router kommst du von aussen nur, wenn der dich reinlaesst (port forwards, DMZ, ...)

    erklaere was du willst und gehe nicht von irgendwas aus.

    Und wie funktioniert Skype? Dort können zwei Leute, die beide einen Router haben, miteinander telefonieren OHNE irgentwelche Einstellungen zu machen.

    mfg.



  • die verbindung geht ueber einen server.



  • c.rackwitz schrieb:

    die verbindung geht ueber einen server.

    Genau, das meinte ich ja auch. Der Server ist allerdings nur dafür zuständig die IPs auszutauschen, der eigentliche Datentransfer (also die Sprache) wird direkt geschickt, das wurde sonst den Server total belasten.

    Vielleicht hilft auch noch, dass ich gehört hab, dass das ganze bei WinSock connectionless Sockets heißt, aber ein TUtorial hab ich dazu auch noch nicht gefunden.

    mfg.





  • Jochen Kalmbach schrieb:

    Skype ist tatsächlich P2P...
    http://www.cs.columbia.edu/~library/TR-repository/reports/reports-2004/cucs-039-04.pdf

    Mein ich ja. 😃

    mfg.



  • joomoo schrieb:

    Mein ich ja.

    Es verwendet aber trotzdem Ports die offen sein müssen 😃



  • YES!!! 😃



  • Jochen Kalmbach schrieb:

    joomoo schrieb:

    Mein ich ja.

    Es verwendet aber trotzdem Ports die offen sein müssen 😃

    Meine Frage ist jetzt folgende: Wenn ich bei Warcraft 3 Spiele aufmachen will, muss ich erst bei meinem Router son Virtual Server einrichten. Wenn ich bei Skype eine Konferenz aufmachen will, muss ich gar nichts einstellen, ich kenne auch keinen bei dem das nicht geht (jemanden der bei Warcraft 3 kein Spiel aufmachen kann, kenn ich haufenweise). Warum ist das so?

    mfg.





  • Wollt ihr ihn verarschen oder was?
    Wenn du was weist, dann sags ihm doch.

    Er kann doch unmöglich diese hässlichen 12 Seiten durchlesen.
    Dann könnte er sich das Forum sparen und könnte gleich ein Buch durcharbeiten.

    Pssstts...



  • Wir sind Google! Selber anstrengen ist zwecklos! :p



  • Das ganze ist nun mal nicht so ganz einfach... :p

    Skype nutzt verschiedene Techniken um mit dem Firewall/NAT Probelm fertig zu werden... dazu bedarf es schon einiger Erklärung...
    Ganz kurz:
    1. Fall: Beide haben öffentliche IPs und sind nicht hinter NAT:

    If both users were on public IP addresses, online and were in the
    buddy list of each other, then upon pressing the call button, the
    caller SC established a TCP connection with the callee SC.

    2. Fall: Einer hat eine öffentliche IP und der zweite ist hinter NAT:

    the caller sent signaling information over TCP to an
    online Skype node which forwarded it to callee over TCP. This
    online node also routed voice packets from caller to callee over
    UDP and vice versa.

    3. Fall: Beide sind hinter NAT:

    both caller and callee SC exchanged signaling information over TCP with another online Skype node. Caller SC sent media over TCP to an online node, which forwarded it to callee SC over TCP and vice versa.



  • @Leser.
    Danke!

    @Jochen Kalmbach
    Okay, das ganze wird jetzt kompliziert, ich hatte mir das eigentlich viel eifnacher vorgestellt.

    Folgendes:
    http://www.gamedev.net/reference/articles/article1059.asp

    Da steht ganz am Anfang das Client - Client System, so wie ich mir das vortelle. Aber in dem Tutorial was dann folgt, wird nur das Client-Server System besprochen.
    Jetzt suche ich halt ein TUtorial für Winsocks mit dem Client-Client System und das NAT-Problem lass ich jetzt mal weg.

    mfg.



  • 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.


Anmelden zum Antworten