Question

Je travaille sur un programme de messagerie instantanée en C # (pour l'apprentissage uniquement).
Je veux juste savoir si mon chemin est bien ou mal.
J'ai créé une classe client whice contient un NetworkStream et des fonctions de lecture / écriture.
Le serveur crée un nouveau thread pour chaque client, le fil pour écouter de nouveaux messages.

une meilleure façon?

Était-ce utile?

La solution

Vous ne devez pas nécessairement frayer un fil pour chaque client. J'Enquêter sur la modèle de conception d'observateur car il aborde le problème publish-subscribe, ce qui est une bonne façon de regarder une application de messagerie instantanée, en particulier si vous voulez plusieurs écouteurs à un beau parleur. Voici un bon endroit pour commencer: http://www.blackwasp.co.uk/Observer.aspx . Ce lien décrit le modèle d'observateur et mentionne la messagerie instantanée: http://www.oodesign.com/observer -pattern.html.

Vous trouverez peut-être qu'une approche mono-thread peut être en mesure de suivre avec beaucoup de messages. Selon la façon dont vous vous concevez les classes que vous pouvez trouver utile de mettre des conversations entières dans leur propre fil. Vous devez également penser à utiliser les files d'attente pour gérer les messages entrants et sortants, avec les lecteurs de file d'attente dans leur propre fil ainsi.

Sons comme un projet amusant.

Autres conseils

Essayez WCF. est un bel exemple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top