Multicliente, tomas asíncronas en C #, ¿mejores prácticas? [cerrado]

Estoy tratando de obtener una mejor comprensión de los sockets tcp / ip en c #, ya que quiero desafiarme a mí mismo para ver si puedo crear una infraestructura MMO que funcione (mundo del juego, mapa, jugadores, etc.) solo con fines educativos, ya que no tengo intención de ser otro de esos "OMGZ voy a hacer mi MMORPG r0x0r que será mejor que WoW !!!", ya sabes de lo que estoy hablando.

De todos modos, me preguntaba si alguien puede arrojar algo de luz sobre cómo se podría abordar el diseño de este tipo de sistema y qué tipo de cosas se requieren, y qué debo tener en cuenta.

Mi idea inicial era dividir el sistema en conexiones separadas de cliente / servidor con cada conexión (en su propio puerto) realizando una tarea específica, como actualizar las posiciones de jugador / monstruo, enviar y recibir mensajes de chat, etc., lo que para mí haría procesar los datos más fácilmente porque no siempre necesitaría poner un encabezado en los datos para saber qué información contiene el paquete.

¿Tiene sentido y es útil o solo estoy complicando las cosas?

Sus respuestas son muy apreciadas.

Respuestas a la pregunta(4)

Su respuesta a la pregunta