【发布时间】:2016-10-14 15:29:18
【问题描述】:
在旧版本的 Socket.IO(namespace 在其原型中包含 $emit 函数。我还没有正确理解这一点,但是有了这个,来自客户端的事件可以在本地发送到同一个客户端。
但是,在最新版本的 Socket.IO 中,在 Socket 模块之外无法访问发射函数。
问题是:还有办法从客户端向自身发出事件吗?
【问题讨论】:
-
您真正想解决什么问题?您始终可以通过
EventEmitter.prototype.emit()访问原始 eventEmitter.emit(),并可以使用.call()将其应用于任何 EventEmitter 对象。 -
我正在尝试将使用旧版本 socket.io (0.9.x) 的代码更新为 socket.io (1.4.x)。然而,他们有一个代码,他们从客户端发出事件,这些事件被自己监听。因此,由于使用旧版本的 socket.io,发射器可以在命名空间模块之外访问,这只需调用 $emit 函数即可。但是对于较新的版本,相同的发射器不再可用。因此,问题。另外,您提供的答案确实解决了这个问题。非常感谢。
标签: javascript node.js socket.io