Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
A quick cheatsheet for socket.io
// sending to sender-client only
socket.emit('message', "this is a test");
// sending to all clients, include sender
io.emit('message', "this is a test");
// sending to all clients except sender
socket.broadcast.emit('message', "this is a test");
// sending to all clients in 'game' room(channel) except sender
socket.broadcast.to('game').emit('message', 'nice game');
// sending to all clients in 'game' room(channel), include sender
io.in('game').emit('message', 'cool game');
// sending to sender client, only if they are in 'game' room(channel)
socket.to('game').emit('message', 'enjoy the game');
// sending to all clients in namespace 'myNamespace', include sender
io.of('myNamespace').emit('message', 'gg');
// sending to individual socketid (server-side)
socket.broadcast.to(socketid).emit('message', 'for your eyes only');
// join to subscribe the socket to a given channel (server-side):
socket.join('some room');
// then simply use to or in (they are the same) when broadcasting or emitting (server-side)
io.to('some room').emit('some event'):
// leave to unsubscribe the socket to a given channel (server-side)
socket.leave('some room');
@cyberduck0

This comment has been minimized.

Copy link

@cyberduck0 cyberduck0 commented Mar 15, 2017

just a nice to addition to the list
// Emit data to a specific user
io.sockets.connected[userSocketId].emit('socketName', 'some text');

@tbragg0

This comment has been minimized.

Copy link

@tbragg0 tbragg0 commented Mar 20, 2017

Thanks!

@dankolesnikov

This comment has been minimized.

Copy link

@dankolesnikov dankolesnikov commented Mar 22, 2017

Thanks!

@hdd42

This comment has been minimized.

Copy link

@hdd42 hdd42 commented Mar 29, 2017

thanks

@crustafari

This comment has been minimized.

Copy link

@crustafari crustafari commented Apr 15, 2017

Thanks!

@m4l3vich

This comment has been minimized.

Copy link

@m4l3vich m4l3vich commented Apr 15, 2017

Thanks

@twistedpixel

This comment has been minimized.

Copy link

@twistedpixel twistedpixel commented May 4, 2017

@a2net Does io.sockets.connected[userSocketId].emit() still work for you? I'm receiving "cannot read property 'emit'" errors using this. trying to find a good way to send to specific socket that allows callback function (since broadcasts do not).

@twistedpixel

This comment has been minimized.

Copy link

@twistedpixel twistedpixel commented May 4, 2017

@a2net Sorry, my bad: I was using my own identifiers and not socketIO's. face palm

@TRomesh

This comment has been minimized.

Copy link

@TRomesh TRomesh commented May 30, 2017

@twistedpixel I had the same issue how did you manage to get it solved?. I saved all the socket.ids in an array and used it to emit to the selected socket. but it doesn't seem to be working. this is the code io.sockets.connected[sockets[data.receiver]].emit('recive',data.message); where sockets[data.receiver] gives the id of the socket.

@vivekchandra007

This comment has been minimized.

Copy link

@vivekchandra007 vivekchandra007 commented Jun 22, 2017

Thanks a ton, brother.
I always wonder why default documentation of a product is so confusing.

@gnkarn

This comment has been minimized.

Copy link

@gnkarn gnkarn commented Jun 25, 2017

i would suggest to add the socket.send( , as this is required on the client side of any C++ arduino type web socket library .

@SteenPetersen

This comment has been minimized.

Copy link

@SteenPetersen SteenPetersen commented Jul 22, 2017

Thanks a lot for this, greatly appreciated=)

@sjain3097

This comment has been minimized.

Copy link

@sjain3097 sjain3097 commented Aug 19, 2017

thanks a lott!!!
it really helped me

@BytesCrafter

This comment has been minimized.

Copy link

@BytesCrafter BytesCrafter commented Sep 5, 2017

Thank you man!

@Bablu-rudra

This comment has been minimized.

Copy link

@Bablu-rudra Bablu-rudra commented Nov 3, 2017

thanks

@toleabivol

This comment has been minimized.

Copy link

@toleabivol toleabivol commented Dec 6, 2017

more info on sending to specific socket:

// sending to individual socketid (private message)
socket.to(socketId).emit('hey', 'I just met you');

It's the same command as for rooms, that's because:
"For your convenience, each socket automatically joins a room identified by this id."

@zerosimms

This comment has been minimized.

Copy link

@zerosimms zerosimms commented Dec 20, 2017

Awesome!

@marcalj

This comment has been minimized.

Copy link

@marcalj marcalj commented Jan 26, 2018

@alexpchin I love you!

@rohit-khanna

This comment has been minimized.

Copy link

@rohit-khanna rohit-khanna commented Feb 1, 2018

Awesome!

@icrisu

This comment has been minimized.

Copy link

@icrisu icrisu commented Feb 1, 2018

Thank you!!!

@braedonmerlodev

This comment has been minimized.

Copy link

@braedonmerlodev braedonmerlodev commented Feb 11, 2018

Thanks

@sudoshreyas

This comment has been minimized.

@GaddMaster

This comment has been minimized.

Copy link

@GaddMaster GaddMaster commented Jun 22, 2018

Thanks a2net... Your first comment was exactly what I was looking for...

However, I just learned about rooms, I think I might swap to using rooms

A great cheat sheet, add a2net addition

@piavgh

This comment has been minimized.

Copy link

@piavgh piavgh commented Sep 22, 2018

In the most recent version of socket.io, I think they changed this:

// sending to individual socketid (server-side)
socket.broadcast.to(socketid).emit('message', 'for your eyes only');

to this

// sending to individual socketid (private message)
io.to(`${socketId}`).emit('hey', 'I just met you');

Emit cheatsheet

@PrachipriyaPrasad

This comment has been minimized.

Copy link

@PrachipriyaPrasad PrachipriyaPrasad commented Sep 17, 2019

can you please tell me , if i want to send message from one client to another client by user id and session ID how i can send in JAVA .b I'm using socket IO server side. @alexpchin

@rufatZZ

This comment has been minimized.

Copy link

@rufatZZ rufatZZ commented Nov 12, 2019

THAAAAANKS!!!!!!!!!!!!!

@motaz-hejaze

This comment has been minimized.

Copy link

@motaz-hejaze motaz-hejaze commented Jan 11, 2020

Thanks alot you are awesome
www.sultan.org

@kururu-abdo

This comment has been minimized.

Copy link

@kururu-abdo kururu-abdo commented Feb 15, 2020

how to save persistant socket IDs in my app then send from specific socket to specific socket?

@invasionofsmallcubes

This comment has been minimized.

Copy link

@invasionofsmallcubes invasionofsmallcubes commented Apr 16, 2020

Hi guys, is there a way to send to everyone in a channel but one specific socket id?
I mean I want to emit a message to everyone but one person who is not the sender. Is it possible I wonder?

@codezerro

This comment has been minimized.

Copy link

@codezerro codezerro commented Jun 30, 2020

thanks a lot.

@moaoa

This comment has been minimized.

Copy link

@moaoa moaoa commented Oct 13, 2020

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.