Socket (anglické slovo, což znamená tvorba ) je termín, kterýmůže mít počítač po použití pod softwarem nebo hardwarem několik významů.
V kontextu softwaru to lze přeložit jako „síťový konektor“ nebo „rozhraní připojení“.
Nejprve se objevil v systémech UNIX , soket je software, který je nyní rozšířený ve většině operačních systémů . Jedná se o softwarové rozhraní se službami operačního systému , díky kterému vývojář snadno a jednotně využije služeb síťového protokolu.
Bude pro něj například snadné navázat relaci TCP a poté pomocí ní přijímat a odesílat data. To zjednodušuje jeho úkol, protože tato softwarová vrstva, od které vyžaduje služby voláním funkcí, skrývá nezbytnou práci se správou sítě prováděnou systémem. Termín soket označuje v praxi každou proměnnou použitou v programu za účelem správy jedné z relací.
Pojem socket byl představen v distribucích Berkeley (slavný systém podobný systému UNIX , jehož mnoho současných distribucí používá části kódu), proto někdy mluvíme o zásuvkách BSD ( Berkeley Software Distribution ).
Jedná se o model umožňující meziprocesovou komunikaci (IPC - Inter Process Communication ), který umožňuje různým procesům komunikovat jak na stejném stroji, tak prostřednictvím sítě TCP / IP .
Socketová komunikace je často přirovnávána k lidské komunikaci. Existují tedy dva způsoby komunikace:
Tyto zásuvky jsou realizovány v různých jazycích (C, Java, ...). V jazyce C používají funkce a struktury dostupné v knihovně <sys/socket.h>.
Tyto zásuvky jsou umístěny mezi síťové vrstvě (v ceně) a aplikační vrstvy modelu OSI ( UDP nebo protokoly TCP s použitím IP / ARP ).