Eigentlich lerne ich Computernetzwerke und bin dabei verwirrt, wie ein Webserver mehrere Verbindungen unterhält?
Um es einfach auszudrücken, ich habe durch ein bisschen googeln gelernt, dass Sockets jede Client-Anfrage bearbeiten.
Nehmen wir also an, es gibt einen Webserver und sagen wir 2 Clients mit IPs
Client A: 5.5.5.5
Client B: 10.10.10.10
Beide versuchen, über Port 80 eine Verbindung zum Server herzustellen.
Nachdem ich gegoogelt habe, wartet der Server auf Port 80 auf eingehende Anfragen. Nehmen wir an, ein Client A versucht, eine Verbindung zum Server herzustellen (TCP / IP-Verbindung herstellen). Währenddessen wird ein Socket zwischen diesen beiden erstellt. Anschließend wird es als separater Thread für die weitere Kommunikation ausgeführt, sodass der Server erneut auf andere Clientanforderungen an diesem bestimmten Port wartet. Und Client B verbindet sich auf die gleiche Weise.
Jetzt ist meine erste Frage:
1. How does server communicate with these two clients simultaneously
after the connection has been established?
Jetzt können praktisch nicht nur 2 Clients, sondern Tausende und Abermillionen Benutzer eine Verbindung zu einem Server herstellen.
Dann ist meine nächste Frage:
2. Now, how do those thousands of clients get connected to a single server?
If we assume every client is connected to the server through wire, it is not
practically possible to maintain that many sockets on a hardware for
connection. How those thousands connections are made and handled?
Zuletzt ist meine dritte Frage:
3. Above I said (actually heard) how **client A** connected to the the server
and similarly the client B.
But I didn't get the part stating "after a TCP/IP connection is made they
continue separately in a separate socket and making server to listen for
other client requests." What does that mean? If one client is communicating
to the server, how come other can communicate at the same time to same server.
Isn't it like while a student is asking question to a teacher, other can't
ask at the same time since that particular student is busy or occupying the
teacher at the moment so others should wait, which we compare than client B
should wait when client A is communicating.
Dies sind meine grundlegenden Fragen, die ich nicht bekomme. Bitte korrigieren Sie mich, wenn ich alles falsch verstehe. Sie können mir einige Bücher / PDFs zum Lesen vorschlagen, wenn die Antworten detailliert sind oder sich nicht besonders auf einen bestimmten Teil konzentrieren. Vielen Dank