logo
Transporte

Paquetes y protocolo

Cómo Eco clasifica y enruta las operaciones de red.

Paquetes y protocolo

Paquete no representa un objeto de gameplay: identifica una operación del protocolo. El cliente y el servidor utilizan estos valores para saber cómo interpretar el contenido que sigue.

Capas

RFC / estado

Paquete

Buffer

TCP / UDP / conexión personalizada

Cada capa responde a una pregunta diferente:

CapaPregunta
RFC / estado¿Qué quiere hacer el juego?
Paquete¿Qué operación de protocolo es?
Buffer¿Cómo están representados los bytes?
Transporte¿Cómo llegan los bytes?

Tipos importantes

El protocolo incluye operaciones para handshake, ping, canales, objetos, archivos, datos de jugador/canal, UDP y funciones reenviadas. Entre ellas están RequestID, ResponseID, RequestJoinChannel, RequestCreateObject, RequestTransferObject, RequestDestroyObject, ForwardToAll y ForwardToOthers.

La enumeración completa debe consultarse en Comun/Paquete.cs de Eco porque es la fuente normativa del protocolo actual. fileciteturn227file0

Request y Response

Muchos intercambios siguen este patrón:

Cliente ── RequestX ──► Servidor
Cliente ◄─ ResponseX ── Servidor

Otros mensajes son notificaciones o reenvíos y no tienen que seguir una pareja request/response clásica.

Paquetes reenviados

Las operaciones ForwardToAll, ForwardToOthers y variantes persistentes permiten que el servidor reenvíe datos a participantes del canal. El protocolo mantiene el contexto del jugador emisor, canal y objeto.

No mezclar protocolo y gameplay

No diseñes un Paquete nuevo sólo porque necesites una nueva mecánica del juego. Primero determina si la mecánica encaja en una RFC, sincronización, datos de jugador/canal o una de las operaciones existentes. Los paquetes de protocolo deben ser la capa más estable.

Debugging

Cuando una comunicación falla, inspecciona en este orden:

1. ¿Se está generando la operación?
2. ¿Qué paquete representa esa operación?
3. ¿El buffer contiene los datos esperados?
4. ¿Se envió por el transporte correcto?
5. ¿El receptor procesa ese paquete?

Referencias

Buffer

Contenedor binario que transporta los datos del paquete.

TCP y UDP

Elección y características del transporte.

On this page