Chat de salón
1. Enunciado del problema
2. Modelo cliente/servidor
3. Protocolo de comunicación con el
servidor.
4. Chat privado
5. Diseño del cliente
6. Diseño del servidor
1
1 . Enunciado del problema
Chat de salón

Un chat de salón es un lugar virtual en internet donde varios
participantes pueden conversar.

Un chat se compone por dos tipos de programas: el servidor y
el cliente.

El servidor proporciona el servicio: acepta y gestiona

participantes, y se encarga de la replicación y recepción de los
mensajes.
El cliente envía mensajes al servidor para que sean enviados
al resto de participantes. En el caso de solicitar un chat
privado con otro participante, la transferencia de mensajes
será directa entre los dos.
2
2. Modelo cliente/servidor
Cliente/servidor


El modelo de la aplicación es el de
cliente/servidor en el chat general y el
protocolo que se va a utilizar es TCP.
Por otro lado cuando se establece una
comunicación privada, el protocolo
usado será UDP, con la finalidad que el
alumno se familiarice con los dos
protocolos.
3
3 . Protocolo de comunicación con el servidor
Establecimiento de la comunicación
1. El nuevo participante envía el nick, mediante el
texto ”Nombre” al servidor, si ya existe otro
participante con el mismo nick envía “KO”, en
caso contrario envía OK.
Nuevo
0+“Paco”
Ana
1+“ko”
Servidor
Paco
Pepe
4
3 . Protocolo de comunicación con el servidor
Establecimiento de la comunicación

Después del “OK”, el servidor nos pasa
la lista de nicks de la sala y al resto de
participantes les avisa de que hemos
entrado, para que nos añadan a su
lista.
5
3 . Protocolo de comunicación con el servidor
Establecimiento de la comunicación
“0”+:“Pedro”
Ana
“4”+“Pedro”
Nuevo
“1”+“OK”
“2”+
“Ana”+”.”+
“Paco”+”.”+
“Pepe”+”.”+
“Pedro”
Servidor
“4“+”Pedro”
Paco
“4”+ “Pedro”
Pepe
6
3 . Protocolo de comunicación con el servidor
Escribir un mensaje

Cuando queremos mandar un mensaje al chat,
se lo mandamos al servidor y este lo difunde a
todos los participantes incluido nosotros mismos
Pedro
Ana
“3”+“Pedro: Hola”
“3”+“Pedro: Hola”
“3”+“Pedro: Hola”
Servidor
“3”+“Pedro: Hola”
“3”+“Pedro: Hola”
Paco
Pepe
7
3 . Protocolo de comunicación con el servidor
Desconectarse
•
Cuando alguien quiera desconectarse manda la servidor
el mensaje “7”+“adios”, y este lo notifica al resto
enviando “5”+ el nick de quien se fue. Si el servidor se
desconecta manda el mensaje “6”+”adios”.
Pedro
7+“adios”
“5”+”Pedro”
Ana
Servidor
“5”+”Pedro”
“5”+”Pedro”
Paco
Pepe
8
4. Chat privado
Establecer un privado




Esta parte es opcional
El único que sabe las direcciones IP de cada cliente es el
servidor.
Para establecer un privado, tenemos que decirle al servidor
con quien queremos hablar, que se trata de un privado y cual
es el puerto de escucha (puerto UDP ), el servidor le dirá a
ese cliente que queremos establecer un privado. Y le dará
nuestros datos.
Protocolo con el servidor
–
Le enviamos al servidor “8” y nuestro puerto de recepción y el
nick del participante con el que nos queremos conectar
– El servidor busca a esa persona y le envía “9” y los datos del
participante que se quiere conectar con él.
9
4. Chat privado
Establecer un privado


A continuación el cliente que recibe la
petición le enviará un primer paquete
ya directamente al cliente privado con
la cadena “A” + el puerto por el que
realizará la recepción.
Mediante el mensaje “B”+cadena se
intercambian mensajes y mediante
“C”+”fin” se cierran las conexiones
10
4. Chat privado
Establecer un privado
192.1.1.2
Contexto.puerto=29999
Contexto.puerto=30001
“A”+Ana+30001
Paco
Ana
Conexión Establecida
“8”+Ana+
”puerto:”+29999
Servidor
“9” + ParticipanteUDP
Nick=Paco
IP=192.1.1.2
Puerto=29999
Verde: TCP
Azul: UDP
11
Descargar

chatsalon