E' necessario che sia il processo 'Server' che quello "Client' creino ciascuno un socket, il quale offre un aggancio tra il processo ed il Dominio di Comunicazione. Il Dominio di Comunicazione rappresenta tutta la catasta di protocolli di rete al di sotto dello strato degli applicativi. Questi vengono gestiti trasparentemente tramite il socket.
Sono definiti due domini di comunicazione:
A livello OSI di trasporto, ovvero a livello End-to-end Control del modello DoD sono definiti due tipi di servizio:
Corrispondentemente vi sono due tipi di socket, che esprimono la relativa semantica di comunicazione:
Entrambi i corrispondenti, client e server, devono creare lo stesso tipo di socket.
Il tipo STREAM richiede che i due applicativi trasferiscano tutti i pacchetti di un messaggio dall'inizio alla fine. Il tipo DGRAM (datagramma) ammette l'invio di qualsiasi numero di pacchetti, ciascuno a se' stante.