I am running WebSocket server (version 3.3.6) and I noticed a possible bug or at least a serious inconsistency: When I connect two clients to the server (localhost), both of them will have the same _$user->id_. There is no way of knowing who is who. Both connections start with a welcome message (client to server), for which the server responds with a (You are ID #x). Both browser tab receives it. Both connections are alive, none of them has been terminated.
How can two clients have the same $user->id at the same time?
Code:
$ws_worker->onConnect = function($connection) {
echo "Opened " . $connection->id . "\n";
};
$ws_worker->onMessage = function($connection, $data) {
global $ws_worker;
echo "New message " . $connection->id . "\n";
$connection->send("You are ID #" . $connection->id);
};
$ws_worker->onClose = function($connection) {
echo "Closed " . $connection->id . "\n";
};
Output result (event and the ID):
Opened 1
New message 1
Opened 1
New message 1
May I know how many processes you set?
Because two processes may have the same connection id,
you can identify them by the _$connection->worker->id_ and the _$connection->id_.