This article mainly introduces the use of socket.io to create namespaces in node. Friends in need can refer to it.
If the developer wants to fully control the sending of messages and events in a specific application, just using a default "/" namespace is enough. But if the developer needs to use the application as a third If third-party services are provided to other applications, you need to define an independent namespace for a socket port used to connect to the client.
Make two namespaces
chat and news then send messages to each other on the client side.
var express=require("express"); var http=require("http"); var sio=require("socket.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("开始监听1337"); }); var io=sio.listen(server); var chart=io.of("/chat").on("connection", function (socket) { socket.send("欢迎访问chat空间!"); socket.on("message", function (msg) { console.log("chat命名空间接收到信息:"+msg); }); }); var news=io.of("/news").on("connection", function (socket) { socket.emit("send message","欢迎访问news空间!"); socket.on("send message", function (data) { console.log("news命名空间接受到send message事件,数据为:"+data); }); });
HTML code:
<!DOCTYPE html> <html> <head> <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("connect", function () { chat.send("你好."); chat.on("message", function (msg) { console.log("从char空间接收到消息:"+msg); }); }); news.on("connect", function () { news.emit("send message","hello"); news.on("send message", function (data) { console.log("从news命名空间接收到send message事件,数据位:"+data); }); }); </script> </head> <body> </body> </html>
Run result:
Have you guys understood the function in node.js? How to use socket.io to create a namespace? The two examples here are very simple. Children can use them freely.
Related recommendations:
The above is the entire content of this chapter. For more related tutorials, please visit Node.js video tutorial!