Created
February 15, 2019 01:24
-
-
Save silverwolfceh/2dfa03daff4be44ca4d199b52ec02fe6 to your computer and use it in GitHub Desktop.
Socket IO cheatsheet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
io.on('connect', onConnect); | |
function onConnect(socket){ | |
// sending to the client | |
socket.emit('hello', 'can you hear me?', 1, 2, 'abc'); | |
// sending to all clients except sender | |
socket.broadcast.emit('broadcast', 'hello friends!'); | |
// sending to all clients in 'game' room except sender | |
socket.to('game').emit('nice game', "let's play a game"); | |
// sending to all clients in 'game1' and/or in 'game2' room, except sender | |
socket.to('game1').to('game2').emit('nice game', "let's play a game (too)"); | |
// sending to all clients in 'game' room, including sender | |
io.in('game').emit('big-announcement', 'the game will start soon'); | |
// sending to all clients in namespace 'myNamespace', including sender | |
io.of('myNamespace').emit('bigger-announcement', 'the tournament will start soon'); | |
// sending to a specific room in a specific namespace, including sender | |
io.of('myNamespace').to('room').emit('event', 'message'); | |
// sending to individual socketid (private message) | |
io.to(`${socketId}`).emit('hey', 'I just met you'); | |
// WARNING: `socket.to(socket.id).emit()` will NOT work, as it will send to everyone in the room | |
// named `socket.id` but the sender. Please use the classic `socket.emit()` instead. | |
// sending with acknowledgement | |
socket.emit('question', 'do you think so?', function (answer) {}); | |
// sending without compression | |
socket.compress(false).emit('uncompressed', "that's rough"); | |
// sending a message that might be dropped if the client is not ready to receive messages | |
socket.volatile.emit('maybe', 'do you really need it?'); | |
// specifying whether the data to send has binary data | |
socket.binary(false).emit('what', 'I have no binaries!'); | |
// sending to all clients on this node (when using multiple nodes) | |
io.local.emit('hi', 'my lovely babies'); | |
// sending to all connected clients | |
io.emit('an event sent to all connected clients'); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment