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 相关文章推荐
跨浏览器开发经验总结(四) 怎么写入剪贴板
May 13 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
Apr 15 Javascript
jquery二级导航内容均分的原理及实现
Aug 13 Javascript
使用js Math.random()函数生成n到m间的随机数字
Oct 09 Javascript
JavaScript为事件句柄绑定监听函数实例详解
Dec 15 Javascript
jquery实现下拉框功能效果【实例代码】
May 06 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
Nov 25 Javascript
简单实现Bootstrap标签页
Aug 09 Javascript
vue调用高德地图实例代码
Apr 28 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 jQuery
使用Vue.js和Element-UI做一个简单登录页面的实例
Feb 23 Javascript
vue-cli项目中使用Mockjs详解
May 14 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实现分页的一个示例
2006/10/09 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
FireFox JavaScript全局Event对象
2009/06/14 Javascript
javascript 四则运算精度修正函数代码
2010/05/31 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
python基于event实现线程间通信控制
2020/01/13 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
干部个人对照检查材料
2014/08/25 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
群众路线自查报告及整改措施
2014/11/04 职场文书
门面房租房协议书
2014/12/01 职场文书
支行行长岗位职责
2015/02/15 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python
小程序自定义轮播图圆点组件
2022/06/25 Javascript
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers