2011-09-04 7 views
6

Quiero implementar un sistema de chat para mi sitio. La funcionalidad será muy similar al chat de Facebook. Los chats se basarán uno a uno.PHP Jquery: sistema de chat, ¿cuál es el marco ideal para esto?

Sé cómo construir el sistema de chat usando PHP, MySql y usando JQuery. Pero mi preocupación es que no se ampliará a una gran cantidad de usuarios a largo plazo.

Usando JQuery, haría las solicitudes cada segundo para mantener la ventana de chat actualizada o si el usuario está enviando una solicitud para chatear con otro usuario. Esto causará una carga extra en el servidor ya que la base de usuarios aumentará las horas extraordinarias.

Me han dicho que usar PHP no es una solución ideal, que debería buscar en la programación de cometas, que nunca antes había intentado.

Mi pregunta es si hay marcos de precompilación que pueda usar, o un mejor enfoque para construirlo?

He oído hablar de NodeJs y APE, pero mi servidor no los admite.

Gracias chicos.

EDITAR: después de tener noticias de mis servidores, podría cambiar mi sistema operativo para poder ejecutar NodeJS. ¿Qué tan bueno es nodejs es el término de escalabilidad y satisfará mis necesidades?

+0

¿Qué otras tecnologías admite su servidor? – generalhenry

+0

tal vez PHP sin bloqueo IO => http://thethoughtlab.blogspot.com/2007/04/non-blocking-io-with-php-mio.html. No lo he probado aún, porque me gusta node.js, pero podría funcionar ... – Alfred

+0

idiomas compatibles C PHP python 2.4 creo. ¿No hay ningún nodo bueno? esto funcionará si cambio mi sistema operativo en mi servidor. – LazyDeveloper

Respuesta

5

PHP y Comet no son mutuamente excluyentes. Comet es solo una técnica de inserción de servidor, por lo que no tienes que sondear nunca. Implementa Comet en PHP & JS, no es un lenguaje de programación separado.

Aunque: NO recomiendo programar el chat por su cuenta, a menos que necesite funciones muy específicas. Es que consume mucho tiempo y error propenso. Utilice uno de la solución de pre-hechos, por ejemplo:

http://www.phpfreechat.net/

o java IRC sala de chat. Google por más.

+2

No existe una buena solución prefabricada que se adapte bien y sea económica. Haz lo tuyo. [haga un chat en 12 líneas usando nowjs] (http://nowjs.com/). Hacer una charla es bastante fácil. – Raynos

3

Como Rok Kralj dice que Comet es un paradigma y se puede aplicar a diferentes tecnologías. La pregunta PHP & Comet es un buen lugar para comenzar si quieres ver esto.

Suele coincidirse en que PHP no se escala demasiado bien como una tecnología en tiempo real. Facebook, que es una casa PHP (aunque ended up compiling their PHP down to C (or maybe C++) for efficiency). La solución más común es usar realtime technology dedicado para su comunicación en tiempo real y mantener esto fuera de su servidor web.

En términos de elección de tecnología consideraría WebSockets ya que se han convertido en el estándar para la comunicación bidireccional en tiempo real. Algunos servidores 'Comet' usan WebSockets como transporte y recurren a HTTP Streaming o HTTP Long-Polling menos eficientes para navegadores más antiguos.

Si considera utilizar un servicio alojado y no desea vincularse solo a la funcionalidad de chat, le gustaría agregar en su momento notificaciones en tiempo real, colaboración visual o juegos, luego http://pusher.com, para quien trabajo, ofrece un servicio de mensajería en tiempo real alojado que puede implementar fácilmente su funcionalidad de chat.

Cuestiones relacionadas