Nodejs Socket.io:两(2)种具有相同监听器的客户端

时间:2017-03-24 07:27:52

标签: node.js sockets socket.io emit

这很奇怪,因为在我开发的某个阶段,我让这个项目相应地运行,现在我似乎不明白它为什么这样做。

无论如何,如上所述,我必须有各种各样的客户,掌握和猜测。所以每个连接,我都有标记,所以我可以确定哪个是哪个,我很好。

我有一个看起来像这样的听众:

 socket.on('START_CHAT', function(response) {.....
     console.log(response);
 });

对于两个客户端,它们位于不同的JS文件中。一个用于master.js,另一个用于guess.js。在该过程的某一点上,两个客户端都将发信号通知服务器并处理数据并执行如下所示的发射:

 socket.emit('START_CHAT', {
      chat_id: newId,
      socket_id: socket.id
 });

问题是主客户端将接收两个发射。如您所见,我添加了socket.id作为传递数据的一部分。我的假设是正确的,因为在Master-Clients结束时,我显示两个不同的套接字ID,因此它是Guess-client的连接。

需要这个过程,因为我需要传递该ID并且不能更改发射,因为我希望将它统一到所有类型的客户端。

为什么会这样?

谢谢。

0 个答案:

没有答案