1
我嘗試向所有客戶廣播消息,但沒有成功。向所有客戶發送廣播消息
帶標記的行WORKS但僅限於一個客戶端。
我已經嘗試過這些選項: socket.emit socket.broadcast.emit
感謝
我嘗試向所有客戶廣播消息,但沒有成功。向所有客戶發送廣播消息
帶標記的行WORKS但僅限於一個客戶端。
我已經嘗試過這些選項: socket.emit socket.broadcast.emit
感謝
您所呼叫的錯對象的on
功能。您應該將socket
變量重命名爲其他內容。最常見的是,人們使用io
。
io = require('socket.io').listen(server);
然後,你將需要調用emit
上sockets
發送給所有用戶:
io.sockets.on('connection', function(socket) {
io.sockets.emit('message', data);
});
當然,send
是使用message
作爲事件的emit
。所以,你可以用它代替你的回調中:
io.sockets.send(data);
在這兩種情況下,你就必須做到以下幾點在你的客戶對這一事件作出反應:
socket.on('message', function (data) {
// Do things with data
});
注:socket.broadcast.emit
可以用將事件發送給除剛剛連接的用戶以外的所有用戶,作爲socket
。