chat php y mysql

Iniciado por kakashi20, 22 Octubre 2013, 22:29 PM

0 Miembros y 1 Visitante están viendo este tema.

kakashi20

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

#!drvy

#1
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

kakashi20

gracias por la sugerencia

kakashi20

que pasaría si en vez de una BD, utilizo un archivo plano .txt como almacenamiento ?

habría mejor rendimiento ?

#!drvy

#4
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