Size: a a a

JavaScript.Ninja

2020 October 11

V

Valentin in JavaScript.Ninja
Павел
Всем привет, подскажите пожалуйста, как лучше всего отслеживать онлайн ли пользователь? Задача стоит такая, если юзер онлайн шлем ему уведомление  о том, что ему пришло уведомление в чат. Если пользователь офлайн то шлем ему на емейл сообщение о том, что ему кто-то написал в личку. Я думал реализовать на сервере, типа если он минут 5 не присылает никаких запросов то в таком случае считаем его офлайн. Но тут и минус типа если человек сидит читает статью или отошел чайку заварить и вроде как он на сайте и в то же время спам на почту летит )
сокеты
источник

AD

Alex D in JavaScript.Ninja
Сокет - постоянное соединение, а их обслуживать )
источник

П

Павел in JavaScript.Ninja
ну они уже и так есть потому что чат на них
источник

AD

Alex D in JavaScript.Ninja
50к онлайна съест очень хороший сервер, для такой задачи - оверкилл
источник

AD

Alex D in JavaScript.Ninja
Павел
ну они уже и так есть потому что чат на них
Тогда вообще в чем вопрос ) раз они есть
источник

П

Павел in JavaScript.Ninja
совета прошу)
источник

П

Павел in JavaScript.Ninja
Alex D
50к онлайна съест очень хороший сервер, для такой задачи - оверкилл
это проблема клиента уже) Пускай  железо берет соответствующее
источник

AD

Alex D in JavaScript.Ninja
Утилизируйте сокет открытый, соединение есть - шлите через него, нету - на почту
источник

AD

Alex D in JavaScript.Ninja
Павел
это проблема клиента уже) Пускай  железо берет соответствующее
Он может быть слегка огорчён счетом за это железо в конце месяца
источник

MV

Maxim Vishnevsky in JavaScript.Ninja
Ну либо самый обычный крон запустить на клиенте, хай стучит в сервер, аля пинг понг, только рестом
источник

П

Павел in JavaScript.Ninja
так а что вебсокет такой прожорливый чтоли?
источник

AD

Alex D in JavaScript.Ninja
Maxim Vishnevsky
Ну либо самый обычный крон запустить на клиенте, хай стучит в сервер, аля пинг понг, только рестом
Хороший вариант, если нет сокета, но раз уж он есть то смысла нету
источник

AD

Alex D in JavaScript.Ninja
Павел
так а что вебсокет такой прожорливый чтоли?
Сервер не может поддерживать одновременно миллион соединений, в среднем хороший сервер будет держать 50к, но и цена будет отнюдь не 50$ в месяц
источник

П

Павел in JavaScript.Ninja
ну сейчас сокеты запускаются только на странице мессенджера
источник

П

Павел in JavaScript.Ninja
может тогда не делать трекинг онлайна на вебсокетах ?
источник

IK

Illya Klymov in JavaScript.Ninja
Alex D
Сервер не может поддерживать одновременно миллион соединений, в среднем хороший сервер будет держать 50к, но и цена будет отнюдь не 50$ в месяц
Если у проекта 50к онлайн то лишние 200 долларов это мелочи
источник

MV

Maxim Vishnevsky in JavaScript.Ninja
Illya Klymov
Если у проекта 50к онлайн то лишние 200 долларов это мелочи
Тоже верно)
источник

П

Павел in JavaScript.Ninja
ну вот да я тоже думаю что если 50к тем более там платная подписка типа
источник

П

Павел in JavaScript.Ninja
то я думаю 200 бачей копейки
источник

MV

Maxim Vishnevsky in JavaScript.Ninja
Павел
ну вот да я тоже думаю что если 50к тем более там платная подписка типа
С сокетами нужно всегда быть уверенным в соединении, делать реконнекты, если отвалится и так далее, иногда это геммор для бэкенда, у меня в проекте шарписты всеми силами отпинываются от сигналР, потому что им это оч гемморно, поэтому пинаю кроном бэкенд
источник