object-ungroupEspacio de nombres

Espacios de nombres

Los espacios de nombres proporcionan separación lógica de características y manejo de eventos dentro del servidor SocketIO. Permiten que diferentes partes de una aplicación funcionen de forma independiente usando una conexión física única.

circle-info

Los espacios de nombres no crean conexiones de socket separadas. Un cliente se conecta una vez y puede unirse a múltiples espacios de nombres sobre la misma sesión subyacente WebSocket/TCP.


Espacio de nombres predeterminado

Si un cliente se conecta sin especificar un espacio de nombres, se adjunta al espacio de nombres predeterminado ("").

Configuration config = new Configuration();
config.setPort(9092);

SocketIOServer server = new SocketIOServer(config);
// el espacio de nombres predeterminado existe de forma implícita
server.start();

Espacio de nombres personalizado

Los espacios de nombres personalizados separan las preocupaciones de la aplicación y los ámbitos de eventos.

SocketIOServer server = new SocketIOServer(config);

Namespace chat = server.addNamespace("/chat");
Namespace admin = server.addNamespace("/auth");

server.start();
circle-info

Por favor no olvides añadir "/", siempre es "/namespace" NO solo "namespace".

Cada espacio de nombres define:

  • sus propios escuchadores de eventos

  • su propio ciclo de vida de conexión

  • su propia lógica de autorización

  • sus propias operaciones de difusión


Ejemplo de espacio de nombres público (/chat)

El /chat espacio de nombres está abierto y permite mensajería general sin autenticación.

Servidor

Cliente


Ejemplo de espacio de nombres autenticado (/auth)

El /auth el espacio de nombres restringe el acceso usando lógica de autorización ejecutada durante la conexión.

Servidor

Cliente autorizado

Cliente no autorizado

Salida esperada del servidor:


Última actualización

¿Te fue útil?