Apuntes DAM
Intermedio
Unas 22 horasProyecto 2 de 4

Chat multiusuario con salas sobre TCP

Desarrolla un servidor de chat y un cliente de consola con apodos únicos, salas, mensajes privados y lista de usuarios conectados. Define el protocolo de texto, atiende a muchos clientes a la vez y gestiona las desconexiones bruscas.

Java 21Sockets TCPHilosConcurrentHashMap
Tu avance0/11 · 0 %

Objetivos de aprendizaje

  • •Diseñar un protocolo de aplicación
  • •Programar servidores concurrentes con pools de hilos
  • •Compartir estado entre hilos de forma segura

Requisitos mínimos

Fases sugeridas

  1. 1

    Protocolo

  2. 2

    Servidor

  3. 3

    Cliente

  4. 4

    Pruebas

Qué entregar

  • Código del servidor y del cliente
  • Documento del protocolo
  • Informe de la prueba de carga

Para ir más allá

  • Historial de cada sala en fichero
  • Cifrado TLS con SSLSocket

Rúbrica de evaluación

CriterioPesoPara la máxima nota
Protocolo20 %Completo, sin ambigüedades y con errores definidos
Concurrencia35 %Estado compartido seguro y sin bloqueos
Funcionalidad25 %Todas las órdenes funcionan
Robustez20 %Desconexiones y entradas erróneas bien tratadas

Úsala para autoevaluarte antes de entregar. Tu profesorado puede usar otros criterios.

Consejos y errores típicos

  • Envía desde un solo sitio a cada cliente: dos hilos escribiendo a la vez mezclan los mensajes.