博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
socket.io笔记三之子命名空间的socket连接
阅读量:5876 次
发布时间:2019-06-19

本文共 903 字,大约阅读时间需要 3 分钟。

当客户端发送admin命名空间下的连接,如果主连接也监听了connetion事件,主连接的connection事件会先触发执行,然后紧接着触发执行admin命名空间下的connection事件。如果客户端连接的是主连接,admin空间下的connection事件不会触发执行。

//服务端代码var app = express();var server = require('http').createServer(app);var io = require('socket.io')(server,{handshake:{xdomain:true}});var adminNameSpace =io.of('/admin');adminNameSpace.on('connection', function(socket){ console.log('admin')}io.on('connection', function(socket){ console.log('io') //io.close() 如果调用了close关闭方法,主连接关闭,子空间下的connection事件不会执行}//客户端代码var ws = io('http://localhost:3002/admin'); //服务端先输出"io",然后输出"admin"如果连接的是ws = io('http://localhost:3002'); //服务端只输出"io",adminNameSpace 空间下的connection事件不会执行NOTE:在连接adminNameSpace命名空间时,如果主连接回调中把主连接关闭了,比如调用了io.close(),那么adminNameSpace的connection事件不会被执行

 

//当通过io.close把主连接关闭后,无论在哪里尝试重新建立主连接都会失败//子命名空间下的socket connection连接事件回调中不能调用子连接的close方法,但可以在主连接的自定义事件中的回调中调用,不能在主连接的connection事件中调用,因为这时候子命名还没有建立连接。

 

转载地址:http://hxzix.baihongyu.com/

你可能感兴趣的文章
Redis 中的事务
查看>>
用 Subversion 构建版本控制环境
查看>>
js24---工厂模式2
查看>>
pa/patch/115/sql 下的pls文件在EBS启动的时候会去更新数据库中的pkg ?
查看>>
Windows Mobile, Windows Embedded CE工程师的海外找工经验
查看>>
MonoRail学习笔记七:页面交互的输入输出方式总结
查看>>
项目利益相关者
查看>>
android window.requestWindowFeature()常用方法
查看>>
【Javascript Demo】移动端访问PC端网页时跳转到对应的移动端网页
查看>>
走在网页游戏开发的路上(四)
查看>>
Linux内核【链表】整理笔记(2) 【转】
查看>>
android152 笔记 4
查看>>
全国各地电信DNS服务器地址
查看>>
jquery 拖动改变div 容器大小
查看>>
解决并清除SQL被注入<script>恶意病毒代码的语句
查看>>
Linux资源控制-CPU和内存
查看>>
对makefile中 $? 的理解
查看>>
HTML5 WebStorage
查看>>
TclError: no display name and no $DISPLAY environment variable
查看>>
Unity的AssetDatabase路径格式
查看>>