Sto lavorando a una partita multiplayer. Intendevo che tutti i dati fossero scambiati su HTTPS, ma è troppo lento. Le reti ad alta latenza richiedono più di un secondo per l'handshake SSL. Anche se il gioco è a turni e non richiede un trasferimento dei dati veloce, il ping 1000-2000 ms non è accettabile.
Quali protocolli / approcci posso utilizzare per trasferire i dati in modo sicuro, con la minore latenza possibile?
Modifica: solo per rispondere alle tue domande sul payload, ecco qual è il risultato di un'unità che attacca un edificio nemico (ovviamente non sto inviando una stringa di uno e zero, questa è solo una rappresentazione binaria): / p>
00000000 10010011 01010001 00100011 01011100 01010001 01010000
Analisi messaggi:
00000000 client's request executed with status "OK", other values correspond to specific error messages.
10 Object is owned by Player 2
010 Object is a building
0110 Object is located at x=6 (always 0<=x<=14)
101 Object is located at y=5 (always 0<=y<=6), owner and location is sufficient to describe any object uniquely
0001 1 byte-worth of modified attributes follows
0010 0011 Object's health is now 3
01 Object is owned by Player 1
011 Object is a unit
1000 Object is located at x=8
101 Object is located at y=5
0001 1 byte-worth of modified attributes follows
0101 0000 This object can no longer move/attack this turn
Non penso di poter ottenere più densità di dati senza renderlo costoso sulla CPU.