170 похожих чатов

Привет. Реализую чат по клиенту в своей срм. На странице браузера

работают вебсокеты, использую signal r.

Если ПК уходит в спящий режим, то сокеты судя по всему отключаются.

У меня есть несколько идей:

1) Когда пользователь залогинился: переподключаться и запрашивать историю чата с сервера. (Тут непонятно как отследить это событие в браузере)

2) Как-то запретить отключение от сервера при входе в спящий режим.

Кто нибудь с таким сталкивался?

6 ответов

25 просмотров

Если сокет внезапно сдох - значит пора синхронизироваться. А было это отключение из-за сна или из-за плохого интернета - уже даже и не важно. Делать вейклок просто потому что вам как разработчику лень делать синхронизацию при разрыве связи (а ведь разрыв необязательно из-за сна может быть) - вас пользователи проклянут за такое. Особенно если оно ещё и для мобилок.

Николай-Симонов Автор вопроса
SomebodyOdd
Если сокет внезапно сдох - значит пора синхронизир...

При разрывах сигнал р сам пытается восстановить соединение

Николай Симонов
При разрывах сигнал р сам пытается восстановить со...

Но это же не значит, что вам ничего делать не надо. Может, пока он это делал, вы упустили пару событий? А может авто восстановление не случилось, потому что интернет полагал очень сильно?

Николай-Симонов Автор вопроса
SomebodyOdd
Но это же не значит, что вам ничего делать не надо...

Так какой выход? Писать свою проверку поверх той что уже есть у сигнлар р? Подключиться вручную, если не смогла сама библиотека все равно не выйдет

Николай Симонов
Так какой выход? Писать свою проверку поверх той ч...

Да, писать своё. У вас нет абсолютно никакой власти над режимом сна, особенно из-под браузера. Максимум можете задержать через Wakelock api, но это только актуально для мобилок с хромом, и ОС или браузер всегда может наплевать на это, если посчитает, что вы обнаглели.

Николай-Симонов Автор вопроса
SomebodyOdd
Да, писать своё. У вас нет абсолютно никакой власт...

Я уже выстрелил себе в ногу однажды с сигнал р, локально сокеты работали, а на проде их оказывается не было и использовались sse, которые конкурируют даже с обычными запросами со страницы. Их всего штук пять на один домен, в итоге из-за них сайт на клиенте ложился, исперпывая лимит О wakelock даже не слышал, думаю нет такой необходимости удерживать соединения открытыми

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта