2009-07-27 19 views
11

Tengo que construir un sistema de chat simple en PHP usando Comet.Comet & PHP: ¿Cómo usar Comet con un sistema de chat PHP?

No sé cuál sería el mejor enfoque para este proyecto.

¿Cuál es la mejor técnica de (cross-browser sería agradable) a utilizar, y cómo implementarla ? ¿Qué bibliotecas puedo usar que ya tienen soporte de cometas? (No quiero usar el protocolo de Bayeux)

Ya tengo un back-end PHP funcionando para el sistema de chat, pero necesito algunas ideas para la interacción entre el cliente y el servidor.

Gracias a todos de antemano. Mis saludos.

+0

¿Cuál es su razonamiento para no usar el protocolo de Bayeux? Es un protocolo estándar utilizado en numerosos servidores de cometas ... ¿solo está eliminando alguno de los que se ejecutan según el protocolo que están usando? – jvenema

Respuesta

2

Es posible que desee consultar WebChat2 Este proyecto utiliza cometa, AJAX y un servidor HTTP personalizado para comunicarse con IRC a través de sockets.

+0

Gracias, lo comprobaré. –

+1

No hay problema. Es bastante sensible y debe escalar bien. – Steven

1

php no es una buena opción para el cometa, porque no hay manera de tener controladores de solicitud de peso ligero. Debería bloquear un proceso completo para cada usuario conectado. Podría funcionar con muy pocos usuarios, pero no para nada incluso con tráfico moderado.

+1

Esta no es una respuesta a mi pregunta. Sé que PHP tiene sus problemas y sé exactamente lo que estás diciendo, estoy muy familiarizado con estos problemas. Pero aún así es lo que necesito usar. (Facebook hace esto sin problemas, con muchos usuarios) –

+4

True Christian, pero se da cuenta de que FB hace lo que hace porque el backend se implementa en Erlang, no en PHP. Ahí es donde yace tu problema. De hecho, lanzaron su propio servidor para manejar específicamente este tipo de solicitudes. – ryeguy

2

chart & Long point-by-point discussion

Desafortunadamente, no hay información para PHP allí, aunque usted podría envolver su back-end existente con un servidor cometa en alguna otra plataforma.

Hay un similar SO question sobre esto, parece que FastCGI es su mejor apuesta.