Einzelnen Beitrag anzeigen
Ungelesen 31.08.12, 17:30   #11
slahn
Erfahrenes Mitglied
 
Benutzerbild von slahn
 
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
slahn ist noch neu hier! | 0 Respekt Punkte
Standard

Also es ist so, dass du dich nicht nur an einen Port bindest, sondern auch an eine IP. Jedoch sind bei IPs auch Bereiche möglich (besser gesagt Wildcards). Vom Verständnis her klappt es aber so wie du es gesagt hast.

Dein letzter Satz stimmt nicht ganz. Dein welcomeSocket-Objekt übernimmt nur die eingehenden Anrufe (nach deinen Angaben aus bind). Dies tut es aber erst nach dem du welcomeSocket.Listen() gemacht hast. Jedoch kann dein welcomeSocket-Objekt nicht arbeiten (antworten, Daten empfangen) da er nicht voll definiert ist. Dazu musst du mit welcomeSocket.Accept() ein neues Socket-Objekt erstellen. Dieses Spricht dann eben nur mit genau diesem einen Partner (IP).

welcomeSocket verwaltet also eine Liste aller Verbindungsanfragen. und Accept() gibt einen Socket aus dieser Liste zurück (erst jetzt ist eine volle Verbindung zustande gekommen). Wenn du den Socket den Accept() zurück gibt in einem eigenen Thread verarbeitest, kannst du so mehrere Verbindungen gleichzeitig verarbeiten. Ansonsten müssten die Anderen Partner immer warten, bis du mit dem anderen fertig bist.
__________________
"[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]" (Klopfers Vater)
slahn ist offline   Mit Zitat antworten