Saltar al contenido
uencoder

Socket

Un socket es un extremo de comunicación de red identificado por (protocolo, IP local, puerto local, IP remota, puerto remoto), que sirve de interfaz entre las capas de aplicación y de transporte.

Propósito

Da a las aplicaciones un extremo de comunicación abstracto que oculta los detalles del protocolo subyacente.

Mecanismo

La API de sockets: socket() crea, bind() asigna una dirección, listen() pone un servidor a escuchar, accept() toma una conexión, connect() marca desde el cliente, send()/recv() transfieren datos y close() cierra. Los sockets TCP tienen una máquina de estados; UDP es sin conexión.

Casos de uso

  • Servidores y clientes de red
  • Conexiones a bases de datos
  • Comunicación WebSocket
  • Sockets de dominio Unix (IPC local)

Ejemplos

  • entrada
    (TCP, 0.0.0.0:8080, client:1234)
    Output
    One connected TCP socket

    The five-tuple

Errores comunes

Unclosed sockets exhaust available ports
Use SO_REUSEADDR or close sockets promptly

Términos relacionados

Herramientas relacionadas

References