Un socket di rete è un endpoint in un flusso di comunicazione tra due programmi in esecuzione su una rete.
I socket vengono creati e utilizzati con una serie di richieste di programmazione o "chiamate di funzione" talvolta denominate API (Application Programming Interface) dei socket. L'API socket più comune è l'interfaccia Berkeley UNIX C per i socket. I socket possono essere utilizzati anche per la comunicazione tra processi all'interno dello stesso computer.
Questa è la sequenza tipica di richieste socket da un'applicazione server nel contesto senza connessione di Internet in cui un server gestisce molte richieste client e non mantiene una connessione più a lungo del servizio della richiesta immediata:
socket ()
|
bind ()
|
recvfrom ()
|
(attendere una richiesta di invio da parte di qualche cliente)
|
(elaborare l'invio alla richiesta)
|
sendto (in risposta alla richiesta del client ... ad esempio, invia un file HTML)
Una sequenza client corrispondente di richieste socket sarebbe:
socket ()
|
bind ()
|
inviare a()
|
recvfrom ()
I socket possono anche essere usati per transazioni "orientate alla connessione" con una sequenza alquanto diversa di chiamate o funzioni di sistema in linguaggio C.
Il Secure Sockets Layer (SSL) è un protocollo di rete del computer che gestisce l'autenticazione del server, l'autenticazione del client e la comunicazione crittografata tra server e client.
Guarda un video introduttivo alle prese: