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 相关文章推荐
jquery中ajax学习笔记4
Oct 16 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
Jan 02 Javascript
javascript检测flash插件是否被禁用的方法
Jan 14 Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 Javascript
AngularJS过滤器详解及示例代码
Aug 16 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
js中创建对象的几种方式
Feb 05 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
详谈js对url进行编码和解码(三种方式的区别)
Aug 16 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
Jul 20 Javascript
Node与Python 双向通信的实现代码
Jul 16 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中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
Jquery 监视按键,按下回车键触发某方法的实现代码
2014/05/11 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
Python自定义线程池实现方法分析
2018/02/07 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
python中threading开启关闭线程操作
2020/05/02 Python
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
党员年终民主评议的自我评价
2013/11/05 职场文书
家庭教育先进个人事迹材料
2014/01/24 职场文书
专家推荐信模板
2014/05/09 职场文书
安全保证书格式
2015/02/28 职场文书
交通处罚决定书
2015/06/24 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
Oracle笔记
2021/04/05 Oracle
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android