Resumen

1. ¿Qué es la programación Socket

  1. Significado literal de Socket
    La palabra socket significa originalmente enchufe. Un enchufe crea una conexión entre dos extremos, por lo que en programación de redes hace referencia a un punto final de comunicación de red.
  2. Definición de programación Socket
    Intercambio de datos entre varios equipos mediante los protocolos de red TCP / UDP.
  3. Explicación sencilla
    Escribir código para que dos o más ordenadores intercambien datos. Un ejemplo típico es una herramienta de chat en red local.

Analogía: enchufe = interfaz de red; clavija = otro equipo; conectar la clavija = establecer conexión de red.

Para entender mejor los conceptos, aprenderemos desarrollando un ejemplo práctico.

2. Esquema de diseño de una herramienta de chat sencilla

Modelo de arquitectura: Cliente‑Servidor (C/S)
  • Servidor (Server)
  1. Vincularse a un puerto local específico y mantener escucha continua de peticiones de red
  2. Esperar intentos de conexión de otros equipos
  3. Crear un canal de comunicación cuando se detecte la llegada de un cliente
  • Cliente (Client)
    Enviar petición de conexión usando la dirección IP y el número de puerto del servidor
  • Objetivo de la comunicación: Intercambiar mensajes de texto en tiempo real entre dos ordenadores para implementar un chat instantáneo

Flujo de funcionamiento

  1. Iniciar servidor → activar escucha del puerto
  2. Iniciar cliente → conectar con IP y puerto del servidor
  3. Una vez establecida la conexión, ambos extremos envían y reciben mensajes

A continuación se muestra un ejemplo mínimo

Servidor

// 1. Crear TcpListener para escuchar IP y puerto
TcpListener listener = new TcpListener(IPAddress.Any, 8899);
listener.Start();
// 2. Esperar conexión del cliente
TcpClient client = await listener.AcceptTcpClientAsync();
// 3. Obtener flujo de red para enviar y recibir mensajes
NetworkStream stream = client.GetStream();
Lenguaje del código: JavaScript (javascript)

Cliente

// Conectar a IP y puerto del servidor
TcpClient client = new TcpClient();
await client.ConnectAsync("192.168.1.100",8899);
NetworkStream stream = client.GetStream();Lenguaje del código: JavaScript (javascript)

Resumen

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *