我有一些socket.io服务器的代码:
var io = require("socket.io");
io = io(server);
io.on('connection', connectionHandler);
Run Code Online (Sandbox Code Playgroud)
一切都很好.我想知道如何删除该连接侦听器 - 不像套接字,它似乎
io.removeListener('connection', connectionHandler);
Run Code Online (Sandbox Code Playgroud)
不起作用(我得到"io.removeListener不是一个函数").如何在('连接')侦听器上删除它?
如果重要的话,我正在开发一个socket.io房间管理库,我正在写一个重置功能.我正在使用测试套件与Mocha之间的重置功能.我想重置函数来删除on连接侦听器.
Socket.io版本是1.3.7
如果你是通过怎样socket.io流程工作.on(),一个可以计算出,它的使用默认的顶级命名空间为EventEmitter和io.on()刚刚转发函数调用到顶级命名空间对象.因此,您可以获取顶级命名空间对象,然后只需调用EventEmitter它上面的任何方法,如下所示:
var nsp = io.of('/');
nsp.removeListener('connection', connectionHandler);
Run Code Online (Sandbox Code Playgroud)
我已经验证这可以在我自己的测试应用程序中工作,并在调试器中逐步执行它以验证它是否按预期工作.
| 归档时间: |
|
| 查看次数: |
920 次 |
| 最近记录: |