Pregunta

Estoy trabajando en un programa de mensajería instantánea en C # (para aprender solamente).
Sólo quiero saber si mi camino es correcto o incorrecto.
He creado una clase de cliente whice contiene un NetworkStream y funciones de lectura / escritura.
El servidor crea un nuevo hilo para cada cliente, el hilo para escuchar los mensajes nuevos.

Cualquier forma mejor?

¿Fue útil?

Solución

No necesariamente tienen que generará un subproceso para cada cliente. Me investigar el patrón de diseño de observador, ya que aborda el problema de publicación-suscripción, que es una buena manera de mirar a una aplicación de mensajería instantánea, sobre todo si quieres varios detectores en una conversador. He aquí un buen lugar para empezar: http://www.blackwasp.co.uk/Observer.aspx . Este enlace se analiza el patrón Observer y menciona la mensajería instantánea: http://www.oodesign.com/observer -pattern.html.

Es posible que un enfoque de un solo subproceso puede ser capaz de mantenerse al día con una gran cantidad de mensajes. Dependiendo de cómo se diseñe clases puede que le resulte útil para poner conversaciones enteras en su propio hilo. También debe considerar el uso de colas para gestionar mensajes entrantes y salientes, con los lectores de cola en su propio hilo también.

suena como un proyecto divertido.

Otros consejos

Trate de WCF. Aquí es una muestra agradable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top