Transporte
Cómo Eco convierte operaciones en paquetes, las serializa y las transporta entre cliente y servidor.
Transporte
Transporte es la capa situada debajo de la comunicación de gameplay. Su responsabilidad es convertir una operación en datos binarios y llevarlos hasta el receptor adecuado.
No diseñes gameplay contra el transporte
La mayoría del código de juego debería trabajar con objetos, RFC, datos y objetivos. Paquete, Buffer y TCP/UDP se utilizan cuando necesitas comprender o extender la infraestructura.
Paquetes
Qué significa cada operación del protocolo.
Buffers
Cómo Eco escribe y lee bytes y gestiona memoria temporal.
Serialización
Cómo se convierten valores y estructuras en datos transmitibles.
TCP y UDP
Qué transporte usar y qué garantías ofrece cada uno.
Flujo completo
Gameplay
↓
RFC / Estado
↓
Paquete
↓
Serialización
↓
Buffer
↓
TCP / UDP / conexión personalizada
↓
Buffer
↓
Deserialización
↓
Paquete
↓
Gameplay / RuntimeQué debes conocer como usuario de Eco
Concéntrate en RFC, Set/Get, objetivos, canales y objetos. Eco se encarga de transportar los datos.
Estudia Paquete, Buffer, serialización y protocolos cuando estés creando extensiones, depurando problemas de red o trabajando en el propio runtime.
Fiabilidad
TCP proporciona una conexión orientada a flujo y es el transporte principal de Eco. UDP puede utilizarse para determinadas operaciones donde la latencia es prioritaria y la pérdida de un paquete puede ser aceptable.
UDP no es un TCP más rápido
Cambiar a UDP no convierte automáticamente una operación en fiable. La fiabilidad, orden y tolerancia a pérdidas dependen del protocolo que construyas encima.
Depuración
Cuando un mensaje no llega, no saltes directamente a revisar sockets.
Operación [step]
Comprueba que realmente se está ejecutando la RFC, cambio de estado o solicitud esperada.
Protocolo [step]
Comprueba qué Paquete se genera y si el receptor sabe procesarlo.
Datos [step]
Inspecciona el contenido serializado y el tamaño del Buffer.
Transporte [step]
Sólo después comprueba TCP, UDP, endpoints, puertos y estado de la conexión.
