Socket
Ein Socket ist eine Software-Komponente, die Programmen hilft, über ein Netzwerk zu kommunizieren. Der Begriff „Socket“ erinnert an eine physische Buchse, in die man ein Netzwerkkabel einsteckt und durch die alle Daten übertragen werden. Anwendungen richten aus einem ähnlichen Grund Software-Sockets für Netzwerke ein – alle Daten, die eine Anwendung über eine Netzwerkverbindung sendet und empfängt, laufen durch ihren Socket.
Sockets bieten eine standardisierte Methode, mit der ein Programm Netzwerkverbindungen herstellen kann. Software-Entwickler können eine API verwenden, um einen vom Betriebssystem verwalteten Socket zu erstellen. Dadurch müssen sie nicht selbst eine Lösung von Grund auf entwickeln. Wenn die Anwendung Daten über das Netzwerk senden muss, schreibt sie diese Daten in den Socket, als würde sie eine Datei auf einen Datenträger schreiben. Das Betriebssystem erkennt dies und leitet das Datenpaket automatisch über das Netzwerk an sein Ziel weiter.
Jeder Socket hat eine eindeutige Socket-Adresse, die eine IP-Adresse und eine Portnummer kombiniert. Diese Adresse identifiziert sowohl den bestimmten Computer, auf dem der Socket ausgeführt wird, als auch die Anwendung, die ihn erstellt hat. Anwendungen, die auf einem Server ausgeführt werden, erstellen beim Start Sockets und halten sie in einem lauschenden Zustand, während Anwendungen auf Clients Sockets nach Bedarf öffnen und schließen können. Solange ein Socket geöffnet ist, überwacht das Betriebssystem ihn auf eingehende und ausgehende Datenpakete und prüft die Socket-Adresse jedes Pakets, um zu wissen, wohin es weitergeleitet werden soll.
Wenn Sie beispielsweise mit Ihrem Webbrowser eine Website besuchen, erstellt er einen Socket, der über seine IP-Adresse und Portnummer eine Verbindung zu einem anderen Socket auf einem entfernten Webserver herstellt 80 für (HTTP-Verbindungen und 443 für HTTPS-Verbindungen). Der Browser sendet über diesen Socket eine Anfrage nach einer bestimmten Webseite. Das Betriebssystem erkennt sie und leitet sie an den Webserver weiter. Wenn der Webserver die angeforderte Seite an Ihren Computer zurücksendet, prüft das Betriebssystem die Socket-Adresse und weiß, dass es sie an den Webbrowser zurücksenden muss.
Testen Sie Ihr Wissen