如何从 socket.io 获取原生事件数组?
Posted
技术标签:
【中文标题】如何从 socket.io 获取原生事件数组?【英文标题】:How to get array of native events from socket.io? 【发布时间】:2013-08-29 15:49:45 【问题描述】:我正在我的节点 websocket 服务器中编写一些“屏蔽”代码,这样如果客户端尝试发送状态外的事件,套接字就会断开连接。
但由于 socket.io 处理它们的原生事件(如“连接”、“断开连接”等)类似于用户定义的事件,我很难在我的通用处理程序中区分它们
有没有办法以编程方式从 socket.io 检索所有内置事件的列表? 我想避免对这个列表进行硬编码。
【问题讨论】:
请看***.com/q/4753957/52568 谢谢,但我不确定这如何回答我的问题。我只是希望以编程方式获得内置事件列表(我知道如何编写事件处理程序和安全代码)。 【参考方案1】:经过一番挖掘,发现有内部数据包名称列表,并且很容易访问:
var io = require('socket.io');
var events = io.parser.packets;
它不仅仅是三个常见的事件,但无论如何都是有用的。
【讨论】:
太棒了,这非常有用。如果 socket.io 添加了新事件,它可以让我以一种不会中断的方式编写我的代码 :) 非常感谢! 请记住,1.0 似乎很快会有新的更新,它实际上可能会改变兼容性,但显然您仍然可以像大多数人一样使用当前版本。以上是关于如何从 socket.io 获取原生事件数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何在前端获取 socket.on 函数?事件被触发和处理。我正在使用 socket.io、NodeJS 服务器和 Redis.io
如何在socket.io中的断开事件上获取断开连接的客户端的套接字ID
如何使用 Express、AngularJS、Socket.io 广播和获取通知?