node.js中使用socket.io制作命名空间

作者:hebedich 时间:2024-05-03 15:36:33 

如果开发者想在一个特定的应用程序中完全控制消息与事件的发送,只需要使用一个默认的"/"命名空间就足够了.但是如果开发者需要将应用程序作为第三方服务提供给其他应用程序,则需要为一个用于与客户端连接的socket端口定义一个独立的命名空间.

io.of(namespace)

制作两个命名空间

chat和news然后在客户端相互发送信息.


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);
    });
});


<!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("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>

运行结果:

node.js中使用socket.io制作命名空间

小伙伴们是否了解了在node.js中使用socket.io制作命名空间的方法了呢,这里的2个例子很简单,童鞋们自由发挥下。

标签:node,socket.io
0
投稿

猜你喜欢

  • vue中对象数组去重的实现

    2024-04-27 16:18:27
  • pytorch制作自己的LMDB数据操作示例

    2023-05-24 11:51:27
  • mysql中一个普通ERROR 1135 (HY000)错误引发的血案

    2024-01-21 03:53:22
  • node.js express安装及示例网站搭建方法(分享)

    2024-05-13 09:58:22
  • python操作csv格式文件之csv.DictReader()方法

    2021-03-04 18:10:04
  • Python 支持向量机分类器的实现

    2021-05-13 01:54:57
  • call在Python中改进数列的实例讲解

    2021-10-12 17:17:20
  • python实现用于测试网站访问速率的方法

    2023-07-28 19:12:02
  • 微信小程序-详解数据缓存

    2024-04-19 09:49:34
  • python 计算一个字符串中所有数字的和实例

    2022-07-19 01:42:33
  • python实现视频读取和转化图片

    2023-09-25 08:23:22
  • golang gorm框架数据库的连接操作示例

    2024-01-21 06:52:56
  • 详解python数据结构之栈stack

    2023-02-12 17:48:56
  • Python就将所有的英文单词首字母变成大写

    2023-09-21 10:44:35
  • python计算最小优先级队列代码分享

    2022-12-05 03:26:50
  • Python全栈之学习JS(1)

    2021-09-30 03:43:23
  • PHP hebrev()函数用法讲解

    2023-06-03 12:49:32
  • javascript设置页面背景色及背景图片的方法

    2023-09-06 22:00:51
  • Python 相对路径和绝对路径及写法演示

    2023-01-17 15:23:07
  • vue动态注册组件实例代码详解

    2023-07-02 17:01:11
  • asp之家 网络编程 m.aspxhome.com