Definitivamente deberías usar el protocolo XMPP. Es el estándar, utilizado por pequeñas y grandes empresas, escalable y muy ampliable. Todavía hay algunas consideraciones
- Necesita una implementación de servidor XMPP. Para mí es una opción entre ejabberd (muy escalable, utilizado por la mayoría de los gigantes bot, tienes que aprender erlang) u OpenFire (basado en Java, no tan escalable, más fácil de administrar y configurar)
- Necesitas un cliente Puede usar un archivo flash como proxy y usar Xiff para conectarse a su servidor XMPP. Otra opción es usar un hack de servidor push basado en http como sondeo largo, Comet, Bosh … También puedes usar Strophe para eso. XMPP tiene muchos clientes de código abierto creados para diferentes entornos de desarrollo, no debería tener problemas con eso.
- Si también está planeando audio / video como un posible próximo paso para su producto, elija una implementación RTMP basada en flash. En el lado del servidor, puede usar uno de FMS, Wowza o Red5. Si tiene desarrolladores flash, diría que implementar el chat grupal de audio / video en flash con un backend FMS es la solución más fácil.
- Crear un concepto de producto de chat es fácil. Algunas personas terminan implementando sus propios servidores de fondo con Python, node.js, java, etc., pero no lo recomendaría.