logo
Guías

Transferir archivos

Utiliza las funciones de archivos de Eco para solicitar listados y cargar contenido desde el servidor.

Transferir archivos

Eco incluye operaciones de cliente para trabajar con archivos asociados al servidor. Estas operaciones son diferentes de la sincronización de estado: aquí se solicita contenido o información de archivos, mientras que Nodo, RFC y objetos representan el estado de la sesión.

Obtener una lista de archivos

El cliente mantiene callbacks asociados a cada solicitud de listado. Conceptualmente:

cliente.GetFileList("datos", (ruta, archivos) =>
{
    foreach (var archivo in archivos)
    {
        Debug.Log(archivo);
    }
});

El callback recibe la ruta consultada y la lista de archivos encontrada.

Cargar un archivo

La carga de un archivo devuelve sus datos como bytes:

cliente.LoadFile("datos/config.bin", (nombre, datos) =>
{
    // Procesar datos.
});

El sistema mantiene callbacks separados para cada llamada de carga, de forma que varias solicitudes pueden convivir sin sobrescribirse entre sí.

Cuándo utilizar archivos

Los archivos son apropiados para contenido que necesite llegar desde el servidor sin convertirlo en estado sincronizado de un Objeto.

NecesidadMecanismo
Propiedad de una entidadNodo / Set
Acción puntualRFC
Estado compartidoSincronización
Descargar contenidoCarga de archivos
Saber qué archivos existenListado de archivos

Precauciones

No utilices el sistema de archivos como sustituto de la sincronización de gameplay. Descargar periódicamente un archivo para replicar una propiedad suele ser una arquitectura peor que modelar esa propiedad como estado de red.

Tampoco debes asumir que todos los clientes tienen acceso arbitrario al sistema de archivos del servidor. El contenido disponible depende de la configuración y de las reglas del servidor.

Referencias

Transporte

Capas utilizadas para transportar solicitudes y respuestas.

Serialización

Cómo se representan los datos que viajan por la red.

On this page