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

Viel über Netzwerktechnik zu lernen du noch hast ... (oder so ähnlich ).

127.0.0.1 oder localhost verwenden. Auf einem Server laufen ja auch mehrere Serveranwendungen (Web, Mail, DNS, DHCP, ...). Es Darf jedoch pro IP:Port kombination nur ein Programm lauschen (127.0.0.1:80 und 127.0.0.1:8080 geht und 127.0.0.1:80 und 127.0.0.2:80 auch). Zudem hast du ja auf dem loopback sogar 16777214 Adressen frei (von 127.255.255.254 bis 127.0.0.1) .

Ein Socket ist durch 5 Elemente vollständig definiert: Quell-IP, Quell-Port, Ziel-IP, Ziel-Port, Protokoll

IPAddress.Any bietet nur eine Hilfeleistung, damit du nicht Tausende Sockets erstellen/verwalten musst (das macht schon das OS/Kernel). Jedoch kann man mit diesem Socket (IPAddress.Any) keine Daten Senden, Empfangen. Ja nicht mal der 3-way handshake klappt. Er sagt nur dass eine Verbindung eingehen würde, mit der IP X und dem Port Y. Jetzt musst du mit accept() bestätigen dass du diesen willst. Dabei wird eine neuer/konkreter/voll definierter Socket erstellt. Mit diesen kannst du dann mit genau diesem einen Partner sprechen. Der Socket mit (IPAddress.Any) lauscht weiterhin auf andere eingehende Verbindungen.
__________________
"[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]" (Klopfers Vater)
slahn ist offline   Mit Zitat antworten