Estoy trabajando en un juego multijugador. Tenía la intención de que todos los datos se intercambiaran a través de HTTPS, pero es demasiado lento. Las redes de alta latencia toman más de un segundo para el protocolo de enlace SSL. Si bien el juego está basado en turnos y no requiere una transferencia de datos extremadamente rápida, el ping de 1000-2000 ms sigue siendo inaceptable.
¿Qué protocolos / enfoques puedo usar para transferir datos de forma segura, con la menor latencia posible?
Editar: Solo para responder a tus preguntas sobre la carga útil, esto es el resultado de una unidad atacando a un edificio enemigo (obviamente no estoy enviando una cadena de unos y ceros, esto es solo una representación binaria):
00000000 10010011 01010001 00100011 01011100 01010001 01010000
Desglose de mensajes:
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
No creo que pueda obtener más densidad de datos sin que sea caro para la CPU.