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
Del mensaje al protocolo
Repaso, refactors y protocolo custom.
Envío de archivos
Protocolo, configuración y envío de archivos por bloques.
Excepciones
Excepciones en el cliente y el servidor, y cómo arreglarlas.
TcpClient y Stream
De Socket a TcpClient/TcpListener y Stream, e intro a async.