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 相关文章推荐
通过正则格式化url查询字符串实现代码
Dec 28 Javascript
jQuery替换字符串(实例代码)
Nov 13 Javascript
js function定义函数的几种不错方法
Feb 27 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
jquery操作HTML5 的data-*的用法实例分享
Aug 17 Javascript
jQuery+ajax中getJSON() 用法实例
Dec 22 Javascript
浅谈JavaScript数据类型及转换
Feb 28 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
Aug 18 Javascript
总结js中的一些兼容性易错的问题
Dec 18 Javascript
微信小程序云开发详细教程
May 16 Javascript
深入浅出vue图片路径的实现
Sep 04 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 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
2.PHP入门
2006/10/09 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
php实现微信发红包
2015/12/05 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
[转]JS宝典学习笔记
2007/02/07 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
python中enumerate的用法实例解析
2014/08/18 Python
python3调用R的示例代码
2018/02/23 Python
python学生管理系统代码实现
2020/04/05 Python
python 公共方法汇总解析
2019/09/16 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
2021/01/24 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
易程科技软件测试笔试
2013/03/24 面试题
绘画设计学生的个人自我评价
2013/09/20 职场文书
高中军训广播稿
2014/01/14 职场文书
演讲主持词
2014/03/18 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python