Estoy trabajando en un pequeño juego en red (solo LAN) con una computadora que actúa como servidor y todas las demás (incluido el juego real que se ejecuta en la misma computadora) actuando como clientela. Esencialmente, el servidor es transparente para los usuarios, pero existe para simplificar la administración del estado para mí. El concepto básico que tengo ahora es que la computadora de cada jugador dirá: "Oye, me gustaría jugar" a través de la transmisión y mantendrá una lista de los otros jugadores en la red. Después de que cada jugador que ejecuta el juego indique que están listos, se elige una computadora como servidor y el resto de forma predeterminada para los clientes.Elegir una computadora en una LAN para actuar como servidor
Al elegir qué computadora en la LAN usar como servidor, ¿hay realmente alguna manera establecida de elegir una e informar a las demás?
He estado jugando con la idea básica de simplemente tener todas las computadoras de los jugadores elegir un número aleatorio y tener el que tiene el más bajo (o más alto, no importa) ser el servidor (regeneración de números aleatorios para computadoras que rodar el mismo). Cada computadora recibiría el número "rodado" de las otras y podría determinar cuál sería el servidor, luego de lo cual podría conectarse. Parece crudo, pero no estoy seguro de si importa, ya que todas las computadoras estarían físicamente en la misma red a unos pocos pies de distancia. ¿Esto haría bien el trabajo o hay una manera significativamente mejor?
Este concepto se conoce como [elección de liderazgo] (http://en.wikipedia.org/wiki/Leader_election) en informática distribuida. – chrisaycock
@chrisaycock Concepto muy interesante, gracias por señalarlo. Usar eso como punto de partida ya dio como resultado algunos documentos muy útiles y otros recursos. – Gemini14