object-ungroupEspace de noms

Espaces de noms

Les espaces de noms fournissent une séparation logique des fonctionnalités et du traitement des événements au sein du serveur SocketIO. Ils permettent à différentes parties d'une application de fonctionner indépendamment en utilisant une connexion physique unique.

circle-info

Les espaces de noms ne créent pas de connexions socket séparées. Un client se connecte une seule fois et peut rejoindre plusieurs espaces de noms via la même session WebSocket/TCP sous-jacente.


Espace de noms par défaut

Si un client se connecte sans spécifier d'espace de noms, il est attaché à l'espace de noms par défaut ("").

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

SocketIOServer server = new SocketIOServer(config);
// l'espace de noms par défaut existe implicitement
server.start();

Espace de noms personnalisé

Les espaces de noms personnalisés séparent les préoccupations de l'application et les portées des événements.

SocketIOServer server = new SocketIOServer(config);

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

server.start();
circle-info

Veuillez ne pas oublier d'ajouter "/", c'est toujours "/namespace" ET PAS simplement "namespace".

Chaque espace de noms définit :

  • ses propres écouteurs d'événements

  • son propre cycle de vie de connexion

  • sa propre logique d'autorisation

  • ses propres opérations de diffusion


Exemple d'espace de noms public (/chat)

L' /chat espace de noms est ouvert et permet la messagerie générale sans authentification.

Serveur

Client


Exemple d'espace de noms authentifié (/auth)

L' /auth l'espace de noms restreint l'accès en utilisant une logique d'autorisation exécutée lors de la connexion.

Serveur

Client autorisé

Client non autorisé

Sortie serveur attendue :


Mis à jour

Ce contenu vous a-t-il été utile ?