首页 > 代码库 > node中的socket.io制作命名空间
node中的socket.io制作命名空间
如果开发者想在一个特定的应用程序中完全控制消息与事件的发送,只需要使用一个默认的"/"命名空间就足够了.但是如果开发者需要将应用程序作为第三方服务提供给其他应用程序,则需要为一个用于与客户端连接的socket端口定义一个独立的命名空间.
io.of(namespace)
制作两个命名空间
chat和news然后在客户端相互发送信息.
1 var express=require("express"); 2 var http=require("http"); 3 var sio=require("socket.io"); 4 var app=express(); 5 var server=http.createServer(app); 6 app.get("/", function (req,res) { 7 res.sendfile(__dirname+"/index.html"); 8 }); 9 server.listen(1337,"127.0.0.1", function () {10 console.log("开始监听1337");11 });12 var io=sio.listen(server);13 var chart=io.of("/chat").on("connection", function (socket) {14 socket.send("欢迎访问chat空间!");15 socket.on("message", function (msg) {16 console.log("chat命名空间接收到信息:"+msg);17 });18 });19 var news=io.of("/news").on("connection", function (socket) {20 socket.emit("send message","欢迎访问news空间!");21 socket.on("send message", function (data) {22 console.log("news命名空间接受到send message事件,数据为:"+data);23 });24 });
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script src="/socket.io/socket.io.js"></script> 7 <script> 8 var chat=io.connect("http://localhost/chat"), 9 news=io.connect("http://localhost/news");10 11 chat.on("connect", function () {12 chat.send("你好.");13 chat.on("message", function (msg) {14 console.log("从char空间接收到消息:"+msg);15 });16 });17 news.on("connect", function () {18 news.emit("send message","hello");19 news.on("send message", function (data) {20 console.log("从news命名空间接收到send message事件,数据位:"+data);21 });22 });23 </script>24 </head>25 <body>26 27 </body>28 </html>
运行结果:
node中的socket.io制作命名空间
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。