2015-09-28 58 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