Socket
Problem
Ein Prozess muss Daten mit einem anderen Prozess auf demselben Computer oder über ein Netzwerk austauschen.
Dafür braucht er eine Programmierschnittstelle, die seinen Kommunikationsendpunkt darstellt.
Lösung — Socket
Das Betriebssystem stellt Sockets als Kommunikationsendpunkte bereit. Bei Netzwerkkommunikation sieht der Weg typischerweise so aus:
Anwendung
↓
Socket
↓
TCP/UDP
↓
IP
Anwendungen lesen und schreiben über den Socket, während das Betriebssystem den Netzwerkstapel handhabt.
Für die Kommunikation auf demselben Computer ermöglichen Unix-Domänensockets den Datenaustausch einer Offline-App mit einem lokalen Hintergrunddienst.
Kerngedanke: Ein Socket ist der Kommunikationsendpunkt einer Anwendung, der lokal oder über ein Netzwerk verwendet wird.