首页 > 解决方案 > Socket.io:如何获取任何客户端在服务器端监听的所有事件名称?

问题描述

我想获取任何客户端在服务器端监听(订阅)的事件名称列表。

我需要在发射之前计算一些东西,因此我不想在没有客户端监听特定事件时计算它。

我以为我可以从 获得此信息socketIoServer.engine.clients,但我找不到任何东西。

在客户端对象中,我可以得到client._callbacks,其中包含一个子对象,其中键是事件名称(如$connect),值是回调函数。这对我来说已经足够了,但这样我只能得到客户(自己)的事件。我需要服务器上的这些事件,最好不要从客户端发出回调列表。

eventNames我可以从中获取一些socketIoServer.engine.clients.TS3DgS_eCftrhC2TAAAE.eventNames()(我将其作为函数运行),但无论客户端订阅什么事件,它都只会输出 `['close', 'data', 'error']。

标签: socket.io

解决方案


推荐阅读