hola
trato de hacer in chat en php con mysql y uso la función setInterval() para recargar la conversación de la ventana del chat.
uso el setInterval() con 2 segundo de intervalo, pero esto tumba la conexión del servidor online, por las muchas peticiones que se hacen al servidor cada dos segundos.
como solucionar esto ?
si coloco el setInterval() a mas de 20 segundos, se demoraría mucho la recargada y no es lo ideal.
que me aconsejarían ?
gracias
HTTP en general no es un bueno para hacer ese tipo de cosas... tendrias que mirar alternativas del tipo XMPP u otras...
Alternativamente puedes utilizar un archivo como BD pero es una chorrada y seguira causando muchas peticiones al servidor..
Podrias intentar el long polling que consiste en no cerrar la peticion hasta recibir un mensaje pero eso significaria que cada X tiempo, un archivo PHP se ejecutara con un while que podria ocasionar demasiada cargar al servidor.. La idea es usar AJAX.. abrir una peticion y no terminar la conexion hasta que este no reciba una respuesta.
Saludos
gracias por la sugerencia
que pasaría si en vez de una BD, utilizo un archivo plano .txt como almacenamiento ?
habría mejor rendimiento ?
Esa pregunta ya la respondí .. xD
CitarAlternativamente puedes utilizar un archivo como BD pero es una chorrada y seguira causando muchas peticiones al servidor..
Si hablamos de rendimiento entre bd y archivo.. al principio sera mas rápido el archivo.. básicamente porque no pesara nada, tardara muy poco en procesarse.. etc..etc.. luego a no ser que lo borres cada X mensajes.. pesara mas y tardara mas en procesarse.
Para eso existen las BD's.. que no son mas que archivos con tablas de contenidos... así el motor sabe exactamente que donde se encuentra X cosa y no tiene que procesar todo el archivo.
Saludos