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 相关文章推荐
js获取div高度的代码
Aug 09 Javascript
Ajax执行顺序流程及回调问题分析
Dec 10 Javascript
jquery延迟加载外部js实现代码
Jan 11 Javascript
jquery.post用法关于type设置问题补充
Jan 03 Javascript
21个JavaScript事件(Events)属性汇总
Dec 02 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
Dec 29 Javascript
深入理解jQuery.data() 的实现方式
Nov 30 Javascript
使用JS获取SessionStorage的值
Jan 12 Javascript
详解适配器在JavaScript中的体现
Sep 28 Javascript
node.js使用express框架进行文件上传详解
Mar 03 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
Jul 05 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 27 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正则校验用户名介绍
2008/07/19 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
用javascript操作xml
2006/11/04 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
学习jQuey中的return false
2015/12/18 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
Python devel安装失败问题解决方案
2020/06/09 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
英国网上超市:Ocado
2020/03/05 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
学生会主席就职演讲稿
2014/01/14 职场文书
中式婚礼主持词
2014/03/13 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
交通志愿者活动总结
2014/06/27 职场文书
科技工作者先进事迹
2014/08/16 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
先进班组事迹材料
2014/12/25 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技