如何为所有套接字设置socket.on(' action',func)回调?

时间:2015-08-23 13:52:55

标签: node.js socket.io

是否有办法将操作回调设置为现在连接的所有套接字的默认值,并且将来连接而不在每个套接字上指定它?

1 个答案:

答案 0 :(得分:1)

是的,实际上这是socket.io应用程序的绝大多数事件处理程序的绑定方式。您可以通过在io connect事件处理函数中创建并连接相同事件后立即将相同事件绑定到每个套接字来表达这一点。

function onFoo () {
  // code to deal with foo event
}
io.on('connection', function (socket) {
  socket.on('foo', onFoo)
})

因为您写了“没有在每个套接字上指定它”,我怀疑您可能正在寻找更具说明性的方法,但AFAIK这是唯一的方法。它非常灵活,您可以决定对所有套接字进行相同处理,或者您可以使用逻辑来区别对待不同的套接字(例如,验证与匿名)。但在任何一种情况下,io实例上的相同事件处理机制都支持它。