110 likes | 227 Views
Chat de salón. Enunciado del problema Modelo cliente/servidor Protocolo de comunicación con el servidor. Chat privado Diseño del cliente Diseño del servidor. 1 . Enunciado del problema. Chat de salón.
E N D
Chat de salón Enunciado del problema Modelo cliente/servidor Protocolo de comunicación con el servidor. Chat privado Diseño del cliente Diseño del servidor
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. 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.
Nuevo 0+“Paco” Ana Servidor 1+“ko” Paco Pepe 3 . Protocolo de comunicación con el servidor Establecimiento de la comunicación • 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.
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.
“0”+:“Pedro” Ana “4”+“Pedro” Nuevo “1”+“OK” Servidor “2”+ “Ana”+”.”+ “Paco”+”.”+ “Pepe”+”.”+ “Pedro” “4“+”Pedro” Paco “4”+ “Pedro” Pepe 3 . Protocolo de comunicación con el servidor Establecimiento de la comunicación
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 Ana “3”+“Pedro: Hola” Pedro “3”+“Pedro: Hola” Servidor “3”+“Pedro: Hola” “3”+“Pedro: Hola” “3”+“Pedro: Hola” Paco Pepe
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
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.
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
192.1.1.2 Contexto.puerto=29999 Contexto.puerto=30001 “A”+Ana+30001 Paco Ana Conexión Establecida “8”+Ana+ ”puerto:”+29999 “9” + ParticipanteUDP Nick=Paco IP=192.1.1.2 Puerto=29999 Servidor Verde: TCP Azul: UDP 4. Chat privado Establecer un privado