¿Qué es una buena implementación de un programa de chat peer-to-peer con un servidor de asignación de conexiones en C ++?
-
06-09-2019 - |
Pregunta
Durante un tiempo, he estado interesado en la creación de un programa de chat de prueba de concepto utilizando C ++. He dado la idea de una gran cantidad de pensamiento e incluso anotó el comienzo de cómo iba a diseñar el sistema, pero he golpeado una barrera en mi pensamiento cuando se trata de la aplicación.
Quiero saber lo que una implementación de un cliente de chat peer-to-peer con un servidor de dirigir las conexiones se vería como en C ++.
El servidor se utiliza como un registro central de los compañeros, pero no se utiliza como la conexión primaria. El servidor no podría interactuar con los clientes en forma alguna, excepto para asignar conexiones entre pares para lograr un camino óptimo entre pares. En una primera versión, que no sería más que un directorio al que se conectan todos los clientes y los clientes a continuación, puede utilizar el directorio para conectarse a los otros clientes disponibles para el chat. (Espero que lo explica un poco más). :)
Solución
Se debe buscar en el cosas XMPP . Es todo sobre el enrutamiento de mensajes y de coordinación. Utiliza de descentralización y un compañero de igual a igual que la arquitectura.
Hay también un montón de implementaciones de código abierto. Por ejemplo,
Otros consejos
Realmente no puedo pensar en algo mejor que el ejemplo en el chat la documentación Boost.Asio. Buscar en la documentación ejemplos Boost.Asio.