Cos’è un socket nelle reti di computer?

main-qimg-05919542cb2097872cff7f9da14b78d8.webp

Un socket di rete è un endpoint in un flusso di comunicazione tra due programmi in esecuzione su una rete.

I socket sono creati e utilizzati con un insieme di richieste di programmazione o "chiamate di funzione" a volte chiamate API (application programming interface) sockets. L'API di socket più comune è l'interfaccia Berkeley UNIX C per i socket. I socket possono anche essere usati per la comunicazione tra processi all'interno dello stesso computer.

Questa è la tipica sequenza di richieste di sockets da parte di un'applicazione server nel contesto connectionless di Internet in cui un server gestisce molte richieste client e non mantiene una connessione più a lungo del servizio della richiesta immediata:

  1. socket()  
  2. |  
  3. bind()  
  4. |  
  5. recvfrom()  
  6. |  
  7. (wait for a sendto request from some client)  
  8. |  
  9. (process the sendto request)  
  10. |  
  11. sendto (in reply to the request from the client...for example, send an HTML file) 

A corresponding client sequence of sockets requests would be:

  1. socket()  
  2. |  
  3. bind()  
  4. |  
  5. sendto()  
  6. |  
  7. recvfrom() 

Sockets can also be used for "connection-oriented" transactions with a somewhat different sequence of C language system calls or functions.

The Secure Sockets Layer (SSL) is a computer networking protocol that manages server authentication, client authentication and encrypted communication between servers and clients.