io.on('connect', onConnect);
function onConnect(socket){
// 發(fā)送給當(dāng)前客戶端
socket.emit('hello', 'can you hear me?', 1, 2, 'abc');
// 發(fā)送給所有客戶端,除了發(fā)送者
socket.broadcast.emit('broadcast', 'hello friends!');
// 發(fā)送給同在 'game' 房間的所有客戶端,除了發(fā)送者
socket.to('game').emit('nice game', "let's play a game");
// 發(fā)送給同在 'game1' 或 'game2' 房間的所有客戶端,除了發(fā)送者
socket.to('game1').to('game2').emit('nice game', "let's play a game (too)");
// 發(fā)送給同在 'game' 房間的所有客戶端,包括發(fā)送者
io.in('game').emit('big-announcement', 'the game will start soon');
// 發(fā)送給同在 'myNamespace' 命名空間下的所有客戶端,包括發(fā)送者
io.of('myNamespace').emit('bigger-announcement', 'the tournament will start soon');
// 發(fā)送給指定 socketid 的客戶端(私密消息)
socket.to(<socketid>).emit('hey', 'I just met you');
// 包含回執(zhí)的消息
socket.emit('question', 'do you think so?', function (answer) {});
// 不壓縮,直接發(fā)送
socket.compress(false).emit('uncompressed', "that's rough");
// 如果客戶端還不能接收消息,那么消息可能丟失
socket.volatile.emit('maybe', 'do you really need it?');
// 發(fā)送給當(dāng)前 node 實(shí)例下的所有客戶端(在使用多個 node 實(shí)例的情況下)
io.local.emit('hi', 'my lovely babies');
};
提示: 下面的事件是保留的,不應(yīng)該在應(yīng)用中用作事件名稱:
error
connect
disconnect
disconnecting
newListener
removeListener
ping
pong
更多建議: