Si un développeur souhaite contrôler pleinement l'envoi de messages et d'événements dans une application spécifique, il suffit d'utiliser un espace de noms par défaut "/". Cependant, si le développeur doit fournir l'application en tant que service tiers à d'autres applications, il doit définir un espace de noms distinct pour un port de douille utilisé pour se connecter au client.
io.of (espace de noms)
Faire deux espaces de noms
CHAT ET NOUVELLES puis envoyez des informations les unes aux autres du côté client.
La copie de code est la suivante:
var express = require ("express");
var http = require ("http");
var sio = require ("socket.io");
var app = express ();
var server = http.createServer (app);
app.get ("/", fonction (req, res) {
res.sendFile (__ dirname + "/ index.html");
});
server.Listen (1337, "127.0.0.1", fonction () {
console.log ("commencer à écouter 1337");
});
var io = Sio.Listen (serveur);
var chart = io.of ("/ chat"). sur ("connexion", fonction (socket) {
Socket.Send ("Bienvenue à Chat Space!");
socket.on ("message", fonction (msg) {
Console.log ("CHAT Namespace RECOS RESTATION Informations:" + msg);
});
});
var news = io.of ("/ news"). sur ("connexion", fonction (socket) {
Socket.Emit ("Envoyer un message", "Bienvenue dans l'espace d'information!");
socket.on ("Envoyer un message", fonction (data) {
Console.log ("News Namespace accepte l'événement de message d'envoi, les données sont:" + Data);
});
});
La copie de code est la suivante:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<Title> </Title>
<script src = "/ socket.io/socket.io.js"> </ script>
<cript>
var chat = io.connect ("http: // localhost / chat"),
news = io.connect ("http: // localhost / news");
chat.on ("connect", function () {
Chat.send ("Hello.");
chat.on ("message", fonction (msg) {
Console.log ("Recevoir le message de Char Space:" + MSG);
});
});
news.on ("connect", function () {
news.emit ("Envoyer un message", "bonjour");
news.on ("Envoyer un message", fonction (data) {
Console.log ("Recevoir l'événement Send Message de l'espace de noms de nouvelles, bit de données:" + données);
});
});
</cript>
</ head>
<body>
</docy>
</html>
Résultats en cours:
Avez-vous compris la méthode d'utilisation de socket.io pour créer des espaces de noms dans Node.js? Les deux exemples ici sont très simples, alors jouons avec eux librement.