[linux-l] sockets und ip's

Steffen Dettmer steffen at dett.de
Mi Okt 8 10:45:15 CEST 2003


* Olaf Radicke wrote on Wed, Oct 08, 2003 at 01:05 +0200:
> Es kann immer nur ein Server oder Klient an einen
> Socket Lauschen?

Ja. "Listen" meint ja, das der listener eben die neuen
Verbindungen bekommt. Ein "Listener" kann natürlich (gleichzeitig)
mehrere Verbindungen bearbeiten. Der lokale Socket ist der
gleiche, aber der entfernte ein anderer (ne Verbindung ist
eindeutig über beide Sockets bestimmt). Verschiende können auf
verschiedenen lokalen IPs auf dem gleichen Ports lauschen oder
auf der gleichen IP auf verschiedenen Ports (beides aber
jeweils unterschiedliche Sockets, das ist ja das paar aus IP und
TCP-Port).

> So das ip-Adresse + Socket immer ein eindeutiger
> Server bzw. Klient ist?

Socket := IP-Adresse + Port
(gibt noch andere, je nach Netzwerk, vielleicht IPX Sockets,
keine Ahnung)

Ein Socket ist eine Netzwerkadresse und kennzeichnet z.B. einem
Server. Zwei Sockets kennzeichen dann eine Verbindung
("von-Socket" und "nach-Socket"; wobei die Begriffe blöd sind,
weil die Kommunikation ja dann in beide Richtungen funktioniert).

Der Server hat also alle Verbindungen auf einem Socket bei sich
zu verschiedenen. Der Kernel erkennt das am "anderen Socket" und
kann's zuordnen.

IP-Technisch müßte ein Client auch von einem Socket aus
gleichzeitig mehrere Server verbinden können, aber AFAIK ist das
mit der BSD-style socket lib nicht möglich (man nimmt eh einfach
einen anderen lokalen Socket, irgendwas freies eben, ist ja
egal).

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.




Mehr Informationen über die Mailingliste linux-l