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.