Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: kakashi20 en 22 Octubre 2013, 22:29 PM

Título: chat php y mysql
Publicado por: kakashi20 en 22 Octubre 2013, 22:29 PM
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
Título: Re: chat php y mysql
Publicado por: #!drvy en 23 Octubre 2013, 06:31 AM
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
Título: Re: chat php y mysql
Publicado por: kakashi20 en 23 Octubre 2013, 16:43 PM
gracias por la sugerencia
Título: Re: chat php y mysql
Publicado por: kakashi20 en 24 Octubre 2013, 00:27 AM
que pasaría si en vez de una BD, utilizo un archivo plano .txt como almacenamiento ?

habría mejor rendimiento ?
Título: Re: chat php y mysql
Publicado por: #!drvy en 24 Octubre 2013, 17:30 PM
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