esos chats en realidad son apaños con javascript que tratan de simular verdaderos chats.
en un chat, cuando alguien te habla, o habla en general, te llega el mensaje.
en cambio en estos "chats" el mecanismo es el siguiente:
vamos a llamar al usuario "U", y el servidor universojuegos, "S":
- U solicita el índice del foro, la portada vamos
- S envía a U la página solicitada
Como hay un script de chat en la portada, ocurre lo siguiente:
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S envía los nuevos mensajes, si los hay
- U solicita ver nuevos mensajes en el chat
- S se pega un tiro y muere
Lógicamente esto ocurre con cada usuario conectado al chat, y ocurre por cada pestaña que tenga abierta.
En cambio el chat que hay ahora, utiliza un mecanismo bastante más eficiente:
- U solicita el chat
- S envía la página con el chat
Como hay una aplicación flash, el usuario la ejecuta, y abre un nuevo canal de comunicación con el servidor (un canal que no es HTTP, no es por el puerto 80, si no un nuevo canal, distinto). Y empieza lo bueno:
- U envía mensaje al chat
- S recibe ese mensaje, y se lo manda a todos los usuarios conectados
- U envía más mensajes
- S vuelve a enviar los mensajes a todos los conectados
Ahora imaginad que habla otro usuario, llamémosle U1:
- S envía mensaje de U1 a todos los usuarios conectados
etc etc
Como se puede comprobar, el U no está PERMANENTEMENTE preguntando al S "oye, tengo mensajes?", "y ahora?", "oye, y ahora?". No, es el servidor el que dice "toma, te han llegado mensajes".
Aparentemente es lo mismo, un chat, pero uno es un apaño, un intento de hacer un chat vía HTTP, y el otro es un chat como debe ser. Uno es eficiente, y el otro come más recursos que todos los que consumimos ahora. Y si la gente usa pestañas pues colapsa por completo.