Tengo pensado crear una clase Servidor, desde la que se gestionarán las partidas mediante multithreading. Es decir, existirá una clase Partida que se ejecutará en un nuevo thread, y desde la cual se gestionarán también las conexiones de sus distintos jugadores mediante nuevos threads (un thread por jugador, que contendrá un socket a su vez).
Podríamos decir entonces, que la estructura del servidor que estoy describiendo sería algo como:
Código:
-> Jugador > Socket
-> Partida -> Jugador > Socket
-> Jugador > Socket
-> Jugador > Socket
Servidor -> Partida -> Jugador > Socket
-> Jugador > Socket
-> Jugador > Socket
-> Partida -> Jugador > Socket
-> Jugador > Socket
Donde cada objeto perteneciente al esquema sería un nuevo thread (excepto los sockets, que pertenecen al objeto Jugador).-> Partida -> Jugador > Socket
-> Jugador > Socket
-> Jugador > Socket
Servidor -> Partida -> Jugador > Socket
-> Jugador > Socket
-> Jugador > Socket
-> Partida -> Jugador > Socket
-> Jugador > Socket
La verdad, no creo que esta sea la mejor forma ya que en caso de que haya varias partidas llenas la cantidad de threads sería altisima, por eso me gustaría que me dierais opinión y consejo sobre esto.
Gracias.