2009-05-26 24 views
1

Pendant un certain temps, j'ai été intéressé par la création d'un programme de discussion de preuve de concept en C++. J'ai beaucoup réfléchi à l'idée et j'ai même noté les débuts de la conception du système, mais j'ai trouvé une barrière dans ma réflexion en ce qui concerne la mise en œuvre.Qu'est-ce qu'une bonne implémentation d'un programme de chat peer-to-peer avec un serveur pour assigner des connexions en C++?

Je veux savoir à quoi ressemblerait une implémentation d'un client de chat peer-to-peer avec un serveur pour router les connexions en C++.

Le serveur serait utilisé comme un registre central des homologues, mais pas utilisé comme connexion primaire. Le serveur n'interagira d'aucune façon avec les clients, sauf pour attribuer des connexions entre homologues afin d'obtenir un chemin optimal entre homologues. Dans une première version, il s'agit simplement d'un répertoire auquel tous les clients se connectent, et les clients peuvent ensuite utiliser le répertoire pour se connecter aux autres clients disponibles pour le chat. (J'espère que ça l'explique un peu plus). :)

+0

Veuillez indiquer clairement ce que vous voulez que le serveur fasse. J'ai vraiment beaucoup de sens pour le moment. – ebo

+0

Voulez-vous dire "Montrez-moi une implémentation réelle d'un programme de chat écrit en C++?". – ChrisW

+0

Vous allez l'effrayer: P –

Répondre

4

Vous devriez regarder les choses XMPP. Il s'agit d'acheminer et de coordonner les messages. Il utilise la décentralisation et une architecture de type peer-to-peer.

Il existe également de nombreuses implémentations open source. Par exemple,

+1

Merci! Cela devrait me permettre de commencer la mise en œuvre pour voir quelques exemples de conceptions similaires. J'apprécie vraiment votre réponse! –

+0

Pas de soucis. Il y a beaucoup de sources pour avoir un ganders. Regardez aussi Pidgin et libpurple. Vous pouvez baser votre logiciel sur ça! –

+1

N'oubliez pas de re-partager votre code source si vous construisez quelque chose de logiciel open-source;) –

1

Je ne peux pas vraiment penser à quelque chose de mieux que l'exemple de chat dans la documentation Boost.Asio. Recherchez la documentation des exemples dans Boost.Asio.

+0

Merci pour les prospects supplémentaires. –