if you have a a button on the page and you want to make sure the button cannot be clicked again before another socket clicks their button.
if socket a clicked i should disable the button until another socket sends a message that they clicked their button and back and fourth.
$(".buttonTurns").on("click", function(){
socket.emit("turnbutton click")
})
and they dont input any names when they connect
You can set a UUID for each client (either client side javascript or server side javascript).
For a server side solution:
As @slebetman mentioned in the comments, socket.io has a built-in unique identifier for each socket.
as @slebetman suggested in his answer, to get the socket's unique ID () see his answer for more details):
For a client side solution:
If you set the unique ID on the client's side, than you probably need to create your own unique ID.
I took the following code from 6 revs and Briguy37's answer to a question here on this site:
The randomness should be strong enough for all your clients to have a unique identifier using this ID generator. This should work with the code you wanted to use regarding your question here.
Every socket.io session is automatically assigned a unique string as an id. On the server you can get it from:
If you are inside a session (that is, the connection that returns the socket object) you can send messages back to the client by simply doing:
But if you want to send a message to a different session then you need to do:
If you want to send a message to all connected sessions then just do:
If your application have state that needs to be managed, then one technique is to store them in an object using the socket id as the key:
Now that you can manage the individual state for each individual client on the server you can use that to communicate them to other clients.