Come programmare le socket in ambienti GNU/Linux (Parte 1)
Introduzione
La socket (in inglese "presa") è una particolare astrazione software che permette ai processi messi in comunicazione di inviare e ricevere dati. Le socket sono nate intorno agli anni '80, il primo kernel a implementarle fu BSD 4.2 nel 1983.
Client/Server
La struttura base di funzionamento delle socket è di tipo Client/Server. Supponiamo di avere due processi p1 e p2. Il processo p2 ha bisogno del processo p1 per eseguire un determinato compito. Il processo p1 offrirà al processo p2 tale servizio, esso perciò sarà il "Servente" ovvero il Server. Il processo p2 che richiede il servizio sarà dunque il "Cliente", ovvero il Client.
Tipologie di socket
Esistono quattro tipologie di socket:
- Socket che utilizzano i protocolli ARPA di internet (come TCP e UDP).
- Gli Unix Domain Socket. Queste socket vengono usate in ambienti POSIX per la comunicazione in locale dei processi.
- Socket che utilizzano i protocolli di Xerox Network System.
- L'ultima tipologia è quella che utilizza i protocolli della Internationa Standard Association (fa riferimento al modello ISO/OSI).
In questo articolo andremo a vedere solo la prima tipologia. » Continue reading "Come programmare le socket in ambienti GNU/Linux (Parte 1)"


