Attualmente sto lavorando al gioco multiplayer online ac # in tempo reale. L'obiettivo è avere una connessione client / server utilizzando il protocollo UDP. Finora ho usato UDP per i movimenti dei giocatori e TCP per gli eventi (un giocatore che spara, un giocatore che perde punti vita) perché devo essere sicuro che tali dati arriveranno a tutti i giocatori collegati al server. So che UDP è detto "inaffidabile" e alcuni pacchetti potrebbero andare persi. Ma ho letto ovunque per non mescolare mai TCP e UDP perché può influire sulla connessione.
La domanda principale è come devo organizzare la mia rete?
UDP è senza connessione, come devo salvare chi è chi? Devo salvare gli indirizzi IP dei client in un elenco?
Dovrei usare TCP per eventi importanti o usare UDP? Se devo usare UDP, come posso assicurarmi che i dati non vadano persi?
Utilizzando sia TCP che UDP, devo salvare per ciascun giocatore il loro IP in un elenco (per UDP) e il TcpClient che è collegato in un altro elenco (per UDP). Come potrei cambiarlo per essere più efficace?