Paquetes
Los mensajes que forman el protocolo de comunicación de Eco.
Paquetes
Paquete identifica el tipo de operación que está viajando por la red. El contenido binario del mensaje se escribe mediante Buffer y su significado depende del tipo de paquete.
Operación
↓
Paquete
↓
Buffer
↓
TCP / UDPTipos de paquete
Eco conserva un conjunto de paquetes para operaciones como conexión, ping, canales, creación y destrucción de objetos, datos de jugador y forwarding de llamadas remotas.
Algunos ejemplos son:
| Paquete | Propósito |
|---|---|
RequestID | Iniciar la identificación y negociación de la conexión. |
RequestPing | Medir latencia y mantener la conexión activa. |
RequestJoinChannel | Solicitar entrada a un canal. |
RequestLeaveChannel | Abandonar un canal. |
RequestCreateObject | Crear un objeto dinámico. |
RequestDestroyObject | Destruir un objeto de red. |
ForwardToAll | Distribuir una llamada o mensaje al canal. |
ForwardToOthers | Distribuirlo a los demás participantes. |
La enumeración completa vive en Paquete.cs y constituye parte del protocolo interno de Eco.
Request y Response
Muchos mensajes están organizados como una pareja solicitud/respuesta:
Cliente
│
│ Request...
▼
Servidor
│
│ Response...
▼
ClienteNo todos los paquetes siguen exactamente este patrón. Algunos son notificaciones, forwarding o mensajes internos de transporte.
Canal dentro del protocolo
Muchas operaciones contienen el identificador de canal porque el servidor necesita conocer el ámbito en el que debe realizar la operación.
Esto permite que una misma conexión participe en varios canales sin mezclar sus estados.
Objetos y paquetes
Las operaciones relacionadas con objetos incluyen habitualmente un identificador de objeto. En RFC, el identificador puede combinar el objeto con un identificador compacto de función.
UID
├── Object ID
└── Function IDCuando no existe un identificador numérico para la función, Eco puede transportar el nombre de la función.
Fiabilidad
Los paquetes se escriben sobre buffers y después se envían mediante las rutas fiables o rápidas que correspondan. La elección de TCP o UDP no cambia el significado del paquete: cambia cómo se transporta.
Paquetes personalizados
El servidor y el cliente pueden exponer manejadores para paquetes que no formen parte del procesamiento estándar. Esto permite extender el protocolo cuando una aplicación necesita una operación específica.
Los paquetes personalizados deben mantener una definición clara del formato binario y de quién es responsable de procesarlos.
Relación con TNet
Paquete corresponde conceptualmente al sistema de Packet/TNPacket de TNet. La enumeración y los nombres de Eco son la referencia válida para este proyecto.
Paquete.cs · Eco
Implementación actual de los tipos de paquete.
TNet
Repositorio upstream.
DeepWiki · TNet
Referencia para contrastar el protocolo heredado.
