Vistas de página en total

Como funciona el chat

Hoy en día, pocos son los que no conocen o hacen uso asiduo de los chats instantáneos, estén o no basados en estándares abiertos, pero ¿Cómo funciona un chat de este estilo?, ¿Es fácil hacer uno?. En este artículo vamos a intentar responder a estas preguntas así como dotarla de ejemplos para que al final seamos capaces de crear nuestro propio chat con SSL.

¿Cómo funciona un chat?

La respuesta es muy sencilla, al menos si no profundizamos en el tema, y es que, un chat es algo tan sencillo como dos procesos que intercambian datos entre sí. Comúnmente, estos procesos están situados en diferentes lugares, por ejemplo tenemos un proceso en el cliente, que es o debe ser una mera interfaz que se encargue de enviarle datos al otro proceso (servidor) y dejarle que este haga lo que tenga que hacer con ellos.

¿Porqué hablamos de SSL en un chat?

Muchos chats de los que utilizamos hoy en día, envían datos  por la red sin cifrar, lo que permite que un usuario malintencionado y que se sitúe entre el cliente y el servidor, sea capaz de, sin mucho problema, recoger los paquetes que pasen por ese puntos y leer su contenido.

¿Qué hay que tener en cuenta a la hora de implementar un chat?

Como ya hemos mencionado con anterioridad, vamos a trabajar con un mínimo de dos procesos, un proceso cliente y un proceso servidor, el primero de ellos viene a ser lo que un navegador a una aplicación web, ha de ser capaz de, en la medida de lo posible, dedicarse exclusivamente a mostrar los datos recibidos desde el mismo, mientras que el proceso servidor, es el que, en un principio habría de dedicarse a recibir peticiones, procesarlas y devolver una respuesta con el resultado si es que ha de hacer esto, en nuestro caso, el servidor, al recibir una petición ( un mensaje en este caso ), la analiza, detecta a quién va dirigida y se la envía a los destinatarios, los cuales estarán corriendo otros procesos cliente.

¿Qué tipos de comunicación se pueden dar en un chat?

Un usuario con los privilegios suficientes, habría de ser capaz de darle órdenes directas al servidor, de manera que así, el proceso servidor se pueda ejecutar como un demonio, en este caso, la comunicación sería unicast y unidireccional o bidireccional, dependiendo de lo que se desee hacer.
Un usuario que desee enviarle un mensaje privado a otro usuario conectado al chat, en este caso el usuario A le enviaría un mensaje al servidor con un identificador del usuario al que quiere enviarle el mensaje, el servidor, una vez haya comprobado que el usuario existe y que puede recibir mensajes privados, debe enviarle el mensaje que ha recibido del cliente A al cliente B.
Un usuario que desee enviarle un mensaje a una serie de usuarios que estén conectados al mismo, como por ejemplo en el caso de que se encuentre en una sala de chat específica.
Un usuario desea hacer un broadcast (enviarle un mensaje a todo el mundo) con un determinado mensaje.
En estos dos últimos casos, el mensaje se le envía al servidor con los flags (indicadores de la actividad que se realiza) necesarios activados para que sepa qué hacer con cada mensaje y se reenvía el mensaje a los destinatarios seleccionados.

No hay comentarios:

Publicar un comentario