logo
ReferenciaAPI

APIs de bajo nivel

Primitivas internas de Eco para paquetes, buffers, callbacks, caché, serialización y transporte personalizado.

APIs de bajo nivel

Estas APIs permiten trabajar por debajo de Eco, Objeto y Componente. Son útiles para extensiones del protocolo, herramientas de diagnóstico y transportes personalizados.

API de infraestructura

Empieza siempre por la API de alto nivel. Manipular Paquete y Buffer implica asumir manualmente responsabilidades que Eco normalmente resuelve por ti.

Capas

Gameplay

Eco / Objeto / Componente

Paquete

Buffer

ClienteJuego / Servidor

TCP / UDP / IConnection

Paquete

Paquete representa una operación del protocolo. Los tipos internos cubren conexión, canales, objetos, datos, archivos, RFC y transporte.

Cuando necesitas una extensión de protocolo, registra un controlador para un identificador que no interfiera con los paquetes utilizados por Eco.

Eco.EstablecerControlPaquete(miID, (cliente, buffer) =>
{
    // Leer y procesar el paquete personalizado.
});

La lógica del controlador debe consumir el Buffer exactamente en el mismo orden en que fue escrito por el emisor.

Buffer

Buffer es la capa de lectura y escritura binaria.

Buffer buffer = new Buffer();
buffer.Write(42);
buffer.Write("Eco");

int numero = buffer.ReadInt();
string texto = buffer.ReadString();

No confundas el Buffer de protocolo con almacenamiento persistente. Es una representación temporal de datos transportables.

RFC y retorno

Eco conserva mecanismos para esperar a que operaciones remotas anteriores hayan sido procesadas:

Eco.EnviarConRetorno(() =>
{
    // El procesamiento anterior ha alcanzado el retorno.
});

Y en workflows basados en coroutine:

yield return Eco.EsperarRetorno();

Úsalo como punto de coordinación; no como mecanismo de sincronización de gameplay continuo.

Caché y archivos

La caché y la API de archivos son capas distintas de la persistencia de objetos:

Nodo / datos       → estado estructurado
Persistencia       → mundo y objetos
Archivos           → almacenamiento de ficheros
Caché              → datos auxiliares asociados al servidor

Tiempo y diagnóstico

Para mediciones de red utiliza el tiempo de servidor y las métricas expuestas por Eco:

double tiempo = Eco.TiempoServidor;
int ping = Eco.Ping;
long bytesEnviados = Eco.BytesEnviados;
long bytesRecibidos = Eco.BytesRecibidos;

Estas métricas sirven para instrumentación y diagnóstico sin inspeccionar manualmente los sockets.

Conexiones personalizadas

Una conexión personalizada permite conservar el modelo de Eco mientras se sustituye la capa física de transporte. El punto de extensión es IConnection y se utiliza en integraciones como Steam Networking.

Transportes personalizados

Arquitectura de IConnection y sustitución del transporte.

Cuándo bajar de nivel

NecesidadAPI recomendada
GameplayEco, Objeto, Componente
EstadoSet / Get / sincronización
Acción remotaRFC
Crear objetoEco.Instanciar
Diagnósticométricas de Eco
Protocolo propioPaquete + Buffer
Transporte propioIConnection

Código fuente

ClienteJuego.cs

Procesamiento de paquetes en el cliente.

ServidorJuego.cs

Procesamiento y gestión de red en el servidor.

On this page