Qué es un socket en las redes informáticas?

main-qimg-05919542cb2097872cff7f9da14b78d8.webp

Un socket de red es un punto final en un flujo de comunicación entre dos programas que se ejecutan a través de una red.

Los sockets se crean y se utilizan con un conjunto de peticiones de programación o «llamadas a funciones» a veces llamadas interfaz de programación de aplicaciones (API) de sockets. La API de sockets más común es la interfaz C de Berkeley UNIX para sockets. Los sockets también pueden utilizarse para la comunicación entre procesos dentro del mismo ordenador.

Esta es la típica secuencia de peticiones de sockets de una aplicación de servidor en el contexto sin conexión de Internet en el que un servidor maneja muchas peticiones de clientes y no mantiene una conexión más tiempo que el de servir la petición inmediata:

  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.