SergServer

Esta clase puede ser instanciada o también puede ser padre de herencia para otras clases, esta clase es la encargada de crear la conexión como servidor dentro de la red local.

Atributos

Accesibilidad

Nombre

Tipo

Descripción

public

settings

Esta variable almacena los parametros necesarios para el arranque y correcto funcionamiento del servidor

readonly

isServerRunning

bool

Indica si el servidor está corriendo o no

Funciones

StartServerAsync()

Esta función se llama para inicializar el servidor localhost.

Emit()

Esta función sirve para enviar a los clientes datos.

Parámetro

Tipo

Descripción

name

string

Este parámetro corresponde al nombre de la acción a la cual debe llamar

data

string

Este parámetro corresponde a los datos personalizados que deberá envía a los clientes

data

object

Este parámetro hace referencia a una instancia de datos la cual será serializada antes de enviar

Variantes de la función para su uso

// Solo llama a una accion de manera remota
Emit(string name)
// Llama a la acción de manera remota con datos
Emit(string name, string data)
// Llama a la acción remota con un objeto serializado en JSON como dato
Emit(string name, object data)

Ejemplo:

void ChangePosition(){
    // pasar solo texto
    string dataPos = $"x:{transform.position.x}|y:{transform.position.y}|z:{transform.position.z}";
    server.Emit("change-position", dataPos);
    // pasamos el dato como un objeto de tipo PlayerPosition, el cual se serializará de manera interna
    PlayerPosition pos = transform.position;
    server.Emit("change-position", pos);
}

On()

Esta función alista la escucha de una acción por parte de los clientes, por ejemplo, en caso de que los clientes cambien la posicion y envien la acción, esta función se encarga de recibirla.

Parámetro

Tipo

Descripción

name

string

Este parámetro corresponde al nombre de la acción que debe escuchar o recibir (debe ser idéntico al que se haya puesto en el Emit del cliente)

callback

Esta es una función delegada la cual recibe como parámetro un string.

protected void On(string name, SergIOCallback callback);

Ejemplo:

void PrepareListeners(){
    // Uso mediante Lambda
    server.On("change-position", (data) => {
        Console.WriteLine(data);
    });
    server.On("change-position", ChangePosition);
}

void ChangePosition(string data){
    Console.WriteLine(data);
}

Stop()

Esta función detiene el servidor y cierra todas las conexiones con los clientes conectados.

Ejemplo:

void StopServer(){
    server.Stop();
}

Last updated

Was this helpful?