Ho bisogno di scrivere un protocollo di messaggistica tra client e server per un'applicazione di gioco. Ho bisogno di inviare messaggi avanti e indietro come, il giocatore si è unito a un gioco, il giocatore ha lasciato il gioco, il giocatore ha eseguito questa azione, ecc.
Ho una classe ClientMessage che costruirà un messaggio udp o tcp al client e invierà come testo normale per ora. Ma ovviamente, per il cliente, dovrebbe esserci un semplice protocollo per ogni tipo di messaggio (gli esempi sopra citati).
Non sono sicuro di dove cominciare come non ho mai dovuto fare. La mia unica idea è
// Player actions
private int playerJoinGame = 100;
private int playerLeaveGame = 101;
// Game events
private int gameStart = 200;
private int gameEnd = 201;
Quindi un messaggio sarebbe simile a
public PlayerJoinGame(string playerName){
string msg = playerJoinGame + ',' + playerName;
SendClientMessage(msg);
}
Questo schema di progettazione ha senso? L'unico modo per gestirlo, ovvero scrivere la risposta (client), è semplicemente diligente e assicurarsi che quando si aggiorna il codice del server, si aggiorni il cilent? (se gli ID evento cambiano).
Grazie.