Se um desenvolvedor quiser controlar totalmente o envio de mensagens e eventos em um aplicativo específico, é suficiente usar um espaço de nome padrão "/". No entanto, se o desenvolvedor precisar fornecer o aplicativo como um serviço de terceiros a outros aplicativos, ele precisará definir um espaço de nome separado para uma porta de soquete usada para se conectar ao cliente.
io.of (namespace)
Faça dois namespaces
Bate -papo e notícias enviam informações entre si no lado do cliente.
A cópia do código é a seguinte:
var express = requer ("expresso");
var http = requer ("http");
var sio = requer ("soket.io");
var app = express ();
var server = http.createServer (app);
App.get ("/", function (req, res) {
Res.sendFile (__ Dirname+"/index.html");
});
Server.Listen (1337, "127.0.0.1", function () {
console.log ("Comece a ouvir 1337");
});
var io = sio.listen (servidor);
var gráfico = io.of ("/chat"). on ("conexão", função (soquete) {
Socket.send ("Bem -vindo ao espaço de bate -papo!");
Socket.on ("mensagem", função (msg) {
console.log ("espaço para nome de bate -papo recebeu informações:"+msg);
});
});
var notícias = io.of ("/News").
Socket.emit ("Enviar mensagem", "Bem -vindo ao espaço de notícias!");
Socket.on ("Enviar mensagem", função (dados) {
Console.log ("O namespace de notícias aceita o evento de mensagem de envio, os dados são:"+dados);
});
});
A cópia do código é a seguinte:
<! 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"),
notícias = io.connect ("http: // localhost/notícias");
Chat.on ("Connect", function () {
Chat.send ("Hello.");
Chat.on ("mensagem", função (msg) {
console.log ("Receba a mensagem do espaço do Char:"+msg);
});
});
News.on ("Connect", function () {
news.emit ("Enviar mensagem", "Hello");
News.on ("Enviar mensagem", função (dados) {
console.log ("Receba o evento de envio da mensagem do espaço para nome de notícias, bit de dados:"+dados);
});
});
</script>
</head>
<Body>
</body>
</html>
Resultados em execução:
Você entendeu o método de usar o Socket.io para criar espaços de nome no Node.js? Os dois exemplos aqui são muito simples, então vamos brincar com eles livremente.