Een socket is het eindpunt van een netwerkverbinding: de combinatie van IP-adres, poort en protocol waarmee een proces communiceert. Een verbinding bestaat altijd uit twee sockets — één aan elke kant.
93.184.216.34:443 ↔ 192.168.1.10:52814 — de server luistert op een vaste, bekende poort (443), de client krijgt een willekeurige hoge poort toegewezen. Die vier waarden plus het protocol maken elke verbinding uniek.
| Type | Protocol | Gebruik |
|---|---|---|
| Stream socket | TCP | Betrouwbare verbindingen (web, SSH) |
| Datagram socket | UDP | Losse pakketten (DNS, streaming) |
| Unix domain socket | — | Processen op dezelfde machine |
Voor een proces is een socket gewoon een file descriptor: lezen en schrijven werkt zoals bij een bestand.
ss -tlnp # luisterende TCP-sockets met proces
ss -tn # actieve TCP-verbindingen
Een server die niet start met "Address already in use" probeert een socket te openen op een poort die al bezet is.