Quali linee guida di programmazione per un'applicazione di rete di scacchi?

3

Mi piacerebbe implementare una semplice applicazione di rete peer to peer: un'istanza del programma può registrare amici giocatori, e quando un amico è "connesso" (intendo sia disponibile da un'altra istanza di programma che registrato come amico) , Posso chiedergli di giocare.

Poiché conosco il linguaggio J2SE e il framework Swing, ho provato ad avviare la codifica utilizzando Sockets. Il problema è che ho bisogno di un modo per

  • registra i miei amici (o altri account)
  • ottieni l'amico ip, per creare un socket (sarà lo stesso problema sull'altro lato): con il problema degli indirizzi IP dinamici. Voglio dire che un indirizzo serializzato potrebbe non essere più valido
  • si informa che l'altro lato ha "connesso"

Penso che il primo e il terzo punto possano essere risolti se utilizzo un server PHP che avrà tutte le informazioni per tutti gli utenti registrati.

Ecco come dovrebbe funzionare l'applicazione:

  1. Innanzitutto, prima di provare a connetterti l'un l'altro, gli utenti devono registrare un account su un server PHP che dovrò implementare (con il database MySQL)
  2. All'avvio dell'applicazione, l'utente effettua il login fornendo nome utente e password. In modo che l'applicazione sia in grado di recuperare amici (e le statistiche ad esempio) grazie al server
  3. Quando due amici sono pronti per giocare insieme, il server fornisce tutte le informazioni necessarie (come l'indirizzo IP) ad entrambe le istanze dell'applicazione del giocatore.

Le mie principali difficoltà saranno la (de) serializzazione degli indirizzi IP dinamici e il recupero di informazioni su un utente sul server PHP.

Che cosa suggerisci?

    
posta loloof64 04.04.2013 - 21:24
fonte

1 risposta

3

Invece del peer to peer, perché non avere un server centrale in cui le connessioni sono gestite e la responsabilità del server è quella di connettere i peer insieme. Ciò facilita anche la sicurezza, l'acquisizione dell'indirizzo IP e altre informazioni che potrebbero essere conservate dal server per l'archiviazione.

Un bel server thread in cui ogni connessione fa generare al server un thread e connettere quel thread a un altro e quindi impostare peer to peer sarebbe bello.

Questo peer-to-pe virtualizzato sarebbe più semplice e facile da gestire, a mio parere.

    
risposta data 04.04.2013 - 22:07
fonte

Leggi altre domande sui tag