2011-11-18 16 views
6

¿Cómo implementar un chat web real rápido con PHP?¿Cómo implementar un chat web rápido con PHP?

¿Alguien se ha preguntado por qué el chat de Facebook es realmente muy rápido? incluso en IE sin WebSocket.

¿No es la única manera de configurarInterval en JS para buscar nuevos mensajes? Pero lo siento (cuadro de chat de Facebook) como tener una reacción instantánea.

¿Cómo implementar algo tan bueno con PHP?

+2

Utilizan algo como esto: http://en.wikipedia.org/wiki/Comet_(programación). –

+1

El paréntesis de cierre no se hizo una parte del enlace por alguna razón –

+1

@SimpleCoder Incluso si usan un cometa, probablemente realicen encuestas AJAX de algún tipo. –

Respuesta

7

El chat instantáneo que está describiendo generalmente se logra mediante un elemento llamado "Long Polling" o, si estamos hablando de AJAX, "Comet" (Wikipediatalks al respecto). El sondeo tiende a forzar los servidores Apache, pero hay algunos servidores especializados para tratarlo como APE. No estoy seguro, pero creo que puede hacer lo mismo con NodeJS y NGINX que maneja bien el estrés.

Here es un artículo aquí acerca de cómo implementar un chat largo de sondeo con PHP jQuery y AJAX.

¡La mejor de las suertes, y espero que haya sido útil!

3

Estoy de acuerdo con @ joseph-szymborski, aunque sería lógico comenzar a buscar soluciones WebSocket que se vuelven recurrentes a WebSockets a través de Flash y/o larga sondeo.

Aquí hay algunas preguntas pertinentes SO:

Si desea trabajar con PHP o tiene alojamiento compartido, le recomiendo mirar hosted realtime web solution.

0

Es posible que desee considerar Node.js para atender a los clientes en "tiempo real", ya que el sondeo prolongado con PHP/AJAX puede causar tensión en su servidor. Pero la implementación en sí es una tarea cuesta arriba. Solo digo. El sondeo largo con PHP/AJAX puede causar tensión en su servidor.

Mi típica aplicación teórica de la misma:

  1. crear un servidor Node.js para consultar una base de datos.
  2. Enviar variables y/o datos de sesión de php al nodo js usando cURL.
  3. Analice la URL en su servidor Node.js y utilice las variables para verificar para ver los cambios en la base de datos.
  4. Emitir nuevos datos si se producen cambios y enviarlos al cliente.
Cuestiones relacionadas