socket.on()太多次了

时间:2014-12-29 09:16:29

标签: node.js socket.io

所以代码是这样的:

io.on("connection", function(socket){
  socket.on("channel1",function(data){})
  socket.on("channel2",function(data){})
  socket.on("channel3",function(data){})
  socket.on("channel4",function(data){})
  socket.on("channel5",function(data){})
})

所以我创建了一个socket.io连接,并且里面有很多" socket" s,我想知道这是否正常,因为它似乎我在滥用它..是否有任何在io.on()中创建这么多套接字的坏结果?

1 个答案:

答案 0 :(得分:0)

你正在做的事情绝对没有错,但我认为你有点误解你的代码真正做了什么,以及socket.io是如何工作的。

Socket.io是webSocket api之上的一个层,它允许您通过套接字发出和侦听事件,因此您的服务器可以向您的客户端发出事件,并且您的客户端可以向您的服务器发出事件。客户端实际上发送一条消息,命令服务器端套接字对象发出相应的事件服务器端。

所以,你真正在做的是,只是在名为socket的服务器端对象中发出名为“Channel1”,“Channel2”的事件。这绝对没有错。

编辑:顺便说一下,你实际上只创建了一个套接字对象。