We had the same topic the other day.
The following may help you:
Socket identify returns the socket ID. Each connection is assigned to a random 20-characters identifier.
It can look like this (ojIckSD2jqNzOqIrAGzL).
This ID is synchronised between the client and server instance and is assigned automatically. In the socket manager of the server instance you can generate your own IDs and send them in the handshake packet, but Wappler does not have this integrated. This would have to be created manually.
If the socket connections are for the same room, only one connection should be established. In other words, a socket client instance represents only one connection to the service instance. (but we are not quite sure about that either )
Since the IDs are assigned randomly, there is a chance of two identical IDs. But the chance is very small. If you don’t have millions of socket connections, this shouldn’t be a problem.
Yep, the socket ID changes with every reconnection from client. Unless of course you assign a fixed socket ID via the manager instance.
Socket.io has a really good documentation.
Here you can find details about the server socket instances:
https://socket.io/docs/v4/server-socket-instance/
And here about the client side: