TCP Kümmert sich um Client-Identifikation
Wie gesagt bin, TCP-Client-Dateien ausführen oder senden kümmert sich um die Client-Identifikation, und der Server sieht nur einen "Socket" pro Client.
Angenommen, ein Server bei 10.10.100.100 überwacht Port 80 auf eingehende TCP-Verbindungen (HTTP wird über TCP erstellt). Der Client-Browser (10.9.8.7) verbindet sich über den Client-Port 27143 mit dem Server. Der Server sieht: "Der Client 10.9.8.7:27143 möchte eine Verbindung herstellen, akzeptieren Sie?". Die Server-App akzeptiert und erhält ein "Handle" (ein Socket), um die gesamte Kommunikation mit diesem Client zu verwalten, und das Handle sendet immer Pakete mit den richtigen TCP-Headern an 10.9.8.7:27143.
Pakete sind nie gleichzeitige
nun physisch, da man in der Regel nur (oder zwei) Verbindungen auf den Server Internet-Anbindung, so Pakete nur in der angegebenen Reihenfolge ankommen können. Die Frage wird: Was ist der maximale Durchsatz durch die Glasfaser und wie viele Antworten kann der Server im Gegenzug berechnen und senden? Anders als die aufgewendete CPU-Zeit oder Speicherengpässe beim Antworten auf Anforderungen muss der Server auch einige Ressourcen am Leben erhalten (mindestens 1 aktiver Socket pro Client), bis die Kommunikation beendet ist, und daher RAM verbrauchen. Der Durchsatz wird durch einige Optimierungen erreicht (nicht gegenseitig ausschließend): nicht blockierende Sockets (um Pipeline-/Socket-Latenzen zu vermeiden), Multi-Threading (um mehr CPU-Kerne/Threads zu verwenden).
Verbesserung Anfrage Durchsatz weiter: Lastausgleich
Und schließlich der Server auf dem „Front-Side“ von Websites im Allgemeinen nicht die ganze Arbeit selbst tun (vor allem der komplizierteren Sachen, wie Datenbankabfragen, Berechnungen etc.) und Aufgaben verschieben oder sogar HTTP-Anfragen an verteilte Server weiterleiten, während sie weiterhin so viele Anfragen pro Sekunde wie möglich bearbeiten (zB Weiterleitung). Die Verteilung der Arbeit über mehrere Server heißt load-balancing.
Schlechte Qualität Zitat, total verwirrt zwischen Sockets und Ports. Verbindungen werden durch IP-Adresse und * Ports identifiziert, * nicht durch Sockets. – EJP