socket multiple example clients async c# multithreading asynchronous network-programming

multiple - Patrones para servidor de red multiproceso en C#



synchronous socket listener c# (2)

Curiosamente, puede encontrar algo en Asignación de Ciencias de la Computación, CSC 512 Asignación de Programación 4: Servidor de subprocesos múltiples con patrones . Aunque es un vudú de C ++, la teoría es bastante comprensible para alguien que puede hacer C #.

A pesar de que puedes obtener toda la lista de buenas lecturas en la página principal .

¿Hay alguna plantilla / patrón / guía que pueda seguir para diseñar un servidor multiproceso? No puedo encontrar nada terriblemente útil en línea a través de mis búsquedas en Google.

Mi programa iniciará un hilo para escuchar conexiones usando TcpListener. Cada conexión de cliente será manejada por su propio hilo IClientHandler. El servidor ajustará al clienteHandler.HandleClient en un delegado, llamará a BeginInvoke y luego dejará de preocuparse por él.

También necesito poder cerrar limpiamente el hilo de escucha, que es algo que no encuentro muchos ejemplos en línea.

Asumo que una combinación de lock / AutoResetEvents / threading magic combinado con el async BeginAceptTcpClient y EndAcceptTcpClient me llevará allí, pero cuando se trata de código de red, para mí todo está hecho. Así que tengo que creer que hay un patrón que puedo seguir y no confundirme por completo con la miríada de casos de esquinas con múltiples subprocesos que parece que nunca puedo perfeccionar.

Gracias.