Дано:
Серверная часть:
server.get('/updateData', (req, res, next) => {
if (!res.claimUpgrade) {
next(new Error('Connection Must Upgrade For WebSockets'));
return;
}
const upgrade = res.claimUpgrade();
const shed = ws.accept(req, upgrade.socket, upgrade.head);
shed.on('text', function (msg) {
acceptedUsername = msg;
console.log('User: ' + msg);
const response = {
username: acceptedUsername,
msg: "Update"
};
shed.send(JSON.stringify(response));
});
next(false);
});
Клиентская часть:
authForSync.onopen = function (event) {
console.log("Opened socket!");
authForSync.send(user.username);
};
authForSync.onmessage = function (event) {
if ((JSON.parse(event.data)).username === user.username) {
console.log((JSON.parse(event.data)).username);
}
syncWithServer.close();
};
При загрузке страницы на сервер отправляется никнейм текущего юзера из объекта user.
Задача: когда на сервере происходит что-то, допустим некое событие А, нужно отправить конкретному клиенту с конкретным username конкретное сообщение. Username уникальный для каждого клиента. Как это сделать?