2015-09-28 57 views
0

我建立实时应用程序中使用socket.ioSocket.io - 发出广播消息,除了我的插座ID

每个用户进入应用程序创建一个套接字ID时间。 所以,如果我在多个浏览器标签加入应用程序生成我为每个标签的插座ID。

我为特定用户生成一个空间,并包含我的套接字ID, 但我需要发出广播消息,除了我的套接字ID。

因为发出广播消息,但发送到我的其他ID插槽

socket.broadcast.to("room").emit('message', "somethings") 

任何想法,这个代码不为我工作?

+0

可能重复: //stackoverflow.com/questions/12166187/manage-multiple-tabs-but-same-user-in-socket-io) – mithunsatheesh

回答

0

假设你使用的是像沿着侧socket.io表达一些应用程序框架,你可以使用从Express.js为马平从同一个会话生成的socketIDs得到有效的会话ID。

除了将socketID映射到sessionID之外,我不认为有一种方法可以获取跨标签生成的所有socketID,因为其他标签上的信息不会在当前标签上下文中访问。

下面是一些讨论这个相同的情况下,现有的问题:的[管理在socket.io多个选项卡(但同一用户)](HTTP

  1. manage-multiple-tabs-but-same-user-in-socket-io
  2. socket-io-and-session
+0

我读了以前的链接,我得到我与插座ID相关联的会话ID。 我不能忽略广播消息中的这些套接字ID。 – slorenzo

+0

在这个问题您要发出来,但不是所有的socketids。那么你是说你无法弄清所有套接字标识符和那些在你的会话下的区别吗? – mithunsatheesh

+0

我说我不能发出消息省略我socketsid没有使socketsid的阵列循环。你懂我的意思吗? – slorenzo