Si un desarrollador desea controlar completamente el envío de mensajes y eventos en una aplicación específica, es suficiente usar un espacio de nombres "/" predeterminado. Sin embargo, si el desarrollador necesita proporcionar la aplicación como un servicio de terceros a otras aplicaciones, necesita definir un espacio de nombres separado para un puerto de socket utilizado para conectarse al cliente.
io.of (espacio de nombres)
Hacer dos espacios de nombres
Chat y noticias luego envíen información entre sí en el lado del cliente.
La copia del código es la siguiente:
var express = request ("express");
var http = require ("http");
var sio = require ("Socket.io");
var app = express ();
var ser servidor = http.createServer (aplicación);
app.get ("/", function (req, res) {
res.sendFile (__ dirname+"/index.html");
});
server.listen (1337, "127.0.0.1", function () {
console.log ("Comience a escuchar 1337");
});
var io = sio.listen (servidor);
var chart = io.of ("/chat"). on ("conexión", función (socket) {
Socket.send ("¡Bienvenido al espacio de chat!");
Socket.on ("Mensaje", function (msg) {
console.log ("El espacio de nombres de chat recibió información:"+msg);
});
});
var news = io.of ("/news"). on ("conexión", función (socket) {
Socket.emit ("Enviar mensaje", "¡Bienvenido al espacio de noticias!");
Socket.on ("Enviar mensaje", función (datos) {
console.log ("El espacio de nombres de noticias acepta el evento de envío del mensaje, los datos son:"+datos);
});
});
La copia del código es la siguiente:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> </title>
<script src = "/Socket.io/socket.io.js"> </script>
<script>
var chat = io.connect ("http: // localhost/chat"),
News = io.connect ("http: // localhost/news");
chat.on ("conectar", function () {
chat.send ("Hola");
chat.on ("mensaje", function (msg) {
console.log ("Recibir mensaje del espacio de char:"+msg);
});
});
News.on ("Connect", function () {
News.emit ("Enviar mensaje", "Hola");
News.on ("Enviar mensaje", función (datos) {
console.log ("Recibir el evento de envío de mensajes del espacio de nombres de noticias, bit de datos:"+datos);
});
});
</script>
</ablo>
<Body>
</body>
</html>
Resultados de ejecución:
¿Ha entendido el método de usar Socket.io para crear espacios de nombres en Node.js? Los dos ejemplos aquí son muy simples, así que jugemos con ellos libremente.