【问题标题】:socket.io - Detect an emit from any client in a namespace on the server side?socket.io - 检测服务器端命名空间中任何客户端的发射?
【发布时间】:2020-04-15 00:35:05
【问题描述】:

给定服务器端的命名空间对象,您将如何检测任何客户端何时发出消息?

【问题讨论】:

  • 上次我检查过,socket.io 没有支持的方式来做到这一点。您必须侦听客户端可以发送的所有可能消息才能监控它们。
  • 感谢您的提示,我通过使用 for 循环遍历所有连接的客户端套接字对象并在服务器端添加事件侦听器来侦听任何发出的事件,从而解决了这个问题。

标签: node.js socket.io


【解决方案1】:

我通过使用 for 循环遍历所有连接的客户端套接字对象并在服务器端添加一个事件侦听器来侦听任何发出的事件,从而解决了这个问题。

服务器端:

for(var key in clientList){
    clientList[key].on('event', function(){
        console.log("event occured")
    })
}

【讨论】:

  • 这种类型的解决方案一次性将事件处理程序添加到当前套接字集。通常,只要有人连接,您只需在 connect 事件中添加此事件侦听器,它就会一直存在。然后,您可以根据状态决定何时关注事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多