Проверить есть-ли пользователь в списке или нет Websocket?

78
10 февраля 2022, 09:40

При подключении каждому пользователю присваиваю ID

ws.onclient=userId;

А как проверить пользователь он-лайн или нет?

 wss.clients.forEach(function each(client) {
                   if (client.onclient === userId) {
                       console.log('Онлаин')
                   }
               });

Например если он онлайн то данный код вернет что он онлаин. А как вернуть если он не онлайн?

Answer 1

Допустим у вас есть массив всех пользователей

let users = ["1", "2", "3" ...]

Вы можете скопировать его в другой массив, скажем оффлайн пользователей и при проверке через

 let offline = users
 wss.clients.forEach(function each(client) {
    if (offline.includes(client.onclient)) {
       console.log('Онлаин');
       offline.splice(offline.indexOf(client.onclient), 1);
    }
 });

Таким образом в массиве offline остануться только те айди, которых нет в wss.clients

READ ALSO
Вывести массива в select

Вывести массива в select

Нужно вывести значение массива в selectКогда я вывожу оно делится на 3 столбика(red,blue,green)

68
Табы на чистом JS

Табы на чистом JS

Знаю, что в сети полно примеров, но, простого варианта без излишеств я не увидел, и, изначально это был простой вариант вкл/выкл через onclickПотом...

133
Div блок вылазит за границы страницы

Div блок вылазит за границы страницы

Доброго времени суток всемИмеется код, в нем по нажатию на кнопку копируется скрытый текст

68
callback функция с циклом for внутри

callback функция с циклом for внутри

Есть следующий код, функция для перебора массива и функция для работы с элементом массива -handler4Которая должна взять строку из массива и сделать...

67