2015-03-08 65 views
0

我在房間裏有4個插座。我如何鏈接套接字?我想要像這樣使用它:如何鏈接socket.io中的套接字?

socket1 = param1; 
socket2 = param2; 
socket3 = param3; 
socket4 = param4; 

allSockets = ??? 

allSockets.on('', function(...)...) 
+0

您可以播放/發射到所有一個房間的成員。我不知道有什麼方法可以將監聽程序應用於只監聽房間中的這些套接字,而無需將監聽程序附加到房間中的每個套接字。 – jfriend00 2015-03-08 18:56:32

+0

如果我在4個參數中得到它,我該如何聽所有? – 92mate 2015-03-08 19:06:14

+0

我不明白你的意思是「如果我得到4個參數」。如果您試圖實現特定的功能簽名,請顯示如何聲明該功能。 – jfriend00 2015-03-08 19:10:37

回答

0

您可以向房間的所有成員廣播/發射。我不知道有什麼方法可以將偵聽器應用於只偵聽房間中的這些套接字,而無需將單獨的偵聽器附加到房間中的每個套接字。

我能想到的一對夫婦的替代實現的:

如果你有,你想申請的聽衆,那麼你可以通過數組進行迭代,並添加監聽套接字的數組:

function addListeners(sockets, msg, fn) { 
    for (var i = 0; i < sockets.length; i++) { 
     sockets[i].on(msg, fn); 
    } 
} 

它可能還可以到監聽器添加到所有插座,但只處理了消息,如果插座實際上是在一個特定的rooom:

io.on('connection', function(socket) { 
    socket.on("msg", function(data) { 
     // here check if this socket is actually in the desired room 
     // if so, process the message 
     // if not, ignore the message 
    }); 
}); 
相關問題