Programación de Redes

Sockets

El mecanismo que sirve de base para el resto de los mecanismos de comunicación del curso.

Tecnología

  • Socket (C#)
  • TcpClient / TcpListener / UdpClient (C#)
  • Stream, NetworkStream, FileStream (C#)

Temario

  • Sockets
    • Definición y problema que solucionan
    • TCP vs UDP
    • Endpoint
  • Programación de sockets
    • Ejercicio: soportar n clientes, y después una cantidad indefinida
    • Definir un protocolo propio
    • Problemas que debe resolver el programador
      • Autenticación
      • ¿Se guarda estado en la conexión?
      • Reconexión
      • Cierre de la conexión
      • Envío de archivos
  • Protocolo
    • Protocolo básico (largo + data)
    • Protocolo más avanzado (REQ/RES, CMD, etc.)
    • Envío de archivos
    • Protocolos orientados a caracteres: ventajas y desventajas
  • Librerías de alto nivel
    • TcpListener, TcpClient, UdpClient
    • Diferencias, ventajas y desventajas frente a la clase Socket
  • Streams
    • Concepto y para qué se usan
    • Ejemplos: canal TCP/IP, entrada y salida de la consola, archivo
    • Clase Stream: métodos, métodos asincrónicos
    • Implementaciones: FileStream, NetworkStream

Clases

  1. Del mensaje al protocolo

    Repaso, refactors y protocolo custom.

  2. Envío de archivos

    Protocolo, configuración y envío de archivos por bloques.

  3. Excepciones

    Excepciones en el cliente y el servidor, y cómo arreglarlas.

  4. TcpClient y Stream

    De Socket a TcpClient/TcpListener y Stream, e intro a async.

En esta página