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


Posted in Javascript onDecember 15, 2014

如果开发者想在一个特定的应用程序中完全控制消息与事件的发送,只需要使用一个默认的"/"命名空间就足够了.但是如果开发者需要将应用程序作为第三方服务提供给其他应用程序,则需要为一个用于与客户端连接的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个例子很简单,童鞋们自由发挥下。

Javascript 相关文章推荐
网页和浏览器兼容性问题汇总(draft1)
Jun 01 Javascript
JavaScript面向对象(极简主义法minimalist approach)
Jul 17 Javascript
angularjs实现与服务器交互分享
Jun 24 Javascript
Node.js插件的正确编写方式
Aug 03 Javascript
jQuery仿天猫实现超炫的加入购物车
May 04 Javascript
JS重载实现方法分析
Dec 16 Javascript
微信小程序 flex实现导航实例详解
Apr 26 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
Sep 19 Javascript
原生javascript实现连连看游戏
Jan 03 Javascript
微信小程序实现页面浮动导航
Jan 28 Javascript
wx-charts 微信小程序图表插件的具体使用
Aug 18 Javascript
vue在响应头response中获取自定义headers操作
Jul 24 Javascript
node.js中的fs.fstatSync方法使用说明
Dec 15 #Javascript
node.js中的fs.fstat方法使用说明
Dec 15 #Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 #Javascript
node.js中的fs.readFile方法使用说明
Dec 15 #Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 #Javascript
node.js中的socket.io的广播消息
Dec 15 #Javascript
超级简单的jquery操作表格方法
Dec 15 #Javascript
You might like
一篇不错的PHP基础学习笔记
2007/03/18 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
PHP引用的调用方法分析
2016/04/25 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
jquery的$().each和$.each的区别
2019/01/18 jQuery
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
初步解析Python中的yield函数的用法
2015/04/03 Python
Python与shell的3种交互方式介绍
2015/04/11 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
管理岗位竞聘演讲稿
2014/08/18 职场文书
义诊活动通知
2015/04/24 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书