Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Как организовать работу по вебсокету?  [new]
Агнец за бортом
Member

Откуда:
Сообщений: 1146
Допустим, на клиенте есть объект, который делает что-то важное при поступлении сообщения с сервера.

Допустим, связь "теряется" через каждые пять минут и отсутствует минуту.

Как объект на клиенте вообще узнает, что для него были сообщения, которые он не получил?
14 янв 18, 01:10    [21105063]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
Агнец за бортом
Допустим, на клиенте есть объект, который делает что-то важное при поступлении сообщения с сервера.

Допустим, связь "теряется" через каждые пять минут и отсутствует минуту.

Как объект на клиенте вообще узнает, что для него были сообщения, которые он не получил?

обрыв связи — есть событие. на это событие и фиксировать
14 янв 18, 08:26    [21105179]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
hVostt
Member

Откуда:
Сообщений: 15173
Агнец за бортом
Как объект на клиенте вообще узнает, что для него были сообщения, которые он не получил?


Если связи нет, очевидно, что надо её восстанавливать и дополучать пропущенные сообщения.

А как ещё? Научить приложение ванговать?
14 янв 18, 14:45    [21105530]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
hVostt
Если связи нет, очевидно, что надо её восстанавливать и дополучать пропущенные сообщения.

А как ещё? Научить приложение ванговать?
связи может не быть по разным причинам, в том числе и чисто физически, поэтому и восстановить нечего, в этом случае надо накапливать сообщения до восстановления связи. и ванговать не потребуется.
14 янв 18, 15:41    [21105584]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 36536
вадя
поэтому и восстановить нечего
кроме связи?))))
14 янв 18, 15:48    [21105590]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
hVostt
Member

Откуда:
Сообщений: 15173
вадя
связи может не быть по разным причинам, в том числе и чисто физически, поэтому и восстановить нечего, в этом случае надо накапливать сообщения до восстановления связи. и ванговать не потребуется.


а я что сказал? восстанавливать связь и дополучать пропущенные сообщения..

если ты связь не восстановишь, ты ничего и не получишь, хоть унакапливайся там до усрачки
14 янв 18, 16:59    [21105692]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Пылинка
Member

Откуда: СПб
Сообщений: 291
Агнец за бортом,
Я вообще-то тоже люблю на велосипеде прокатиться (сегодня наконец по морозцу а не по грязи 20-25км прокатился),
но не забываем про существование MQ.
15 янв 18, 00:03    [21106150]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Areostar
Member

Откуда:
Сообщений: 3294
Агнец за бортом,

У сокета есть такое событие! погуглите по теме!
15 янв 18, 07:22    [21106296]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Агнец за бортом
Member

Откуда:
Сообщений: 1146
Areostar
Агнец за бортом,

У сокета есть такое событие! погуглите по теме!


Ну то есть - нормальный сценарий следующий - объект на клиенте получает сигнал, что связь прервалась/восстановилась - и сам обрабатывает эту ситуацию.

...

Погуглил - надо постоянно пинговать сервер?
15 янв 18, 12:01    [21107026]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Агнец за бортом
Member

Откуда:
Сообщений: 1146
вадя
в этом случае надо накапливать сообщения до восстановления связи. и ванговать не потребуется.


Клиент ничего не копит, а сервер тем более.

Вопрос в синхронизации объекта на сервере и клиенте.

Сейчас клиент периодически опрашивает сервер, получая свою версию.

Если версия изменилась - запрашивается объект целиком. Это работает, но запросов много.

ВебСокеты тут бы сработали, но встаёт вопрос о связи, которая может быть нестабильной.

Постоянно пинговать сервер - это как-то странно.
15 янв 18, 12:04    [21107043]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
Агнец за бортом
Клиент ничего не копит, а сервер тем более.
надо не опрашивать сервер, а просто ожидать когда не сервере будет новая версия - он сам пришлёт(если есть подключение).
пр обрыве, на сервере просто обновляются версии, при обрыве - клиент имеет сообщение о том что коннект по ws пропал, и пытается возобновить коннект, как только коннект возобновился - от проверяет версию имеющуюся у него с версией на сервере- и при необходимости обновляется
15 янв 18, 12:14    [21107087]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 36536
Агнец за бортом
Клиент ничего не копит, а сервер тем более.
не выйдет. Все что то копят.
Кто куки, кто токены, кто мессаги.
15 янв 18, 12:34    [21107179]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
Petro123
не выйдет. Все что то копят.
Кто куки, кто токены, кто мессаги.

почему не выйдет?
вполне выходит. у меня только id сессии, но это отдельный параметр. его даже прочитать нельзя.
15 янв 18, 14:36    [21107856]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 36536
вадя,
Тебе лишь бы спорить.
Ты выше сказал "накапливать сообщения".
А я о чём?
15 янв 18, 14:41    [21107876]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
Petro123
Ты выше сказал "накапливать сообщения".
на что мне ответили
Агнец за бортом
Сейчас клиент периодически опрашивает сервер, получая свою версию.

т.е. "накопления" заключаются в разных версиях "данных".
тут вопрос в том, что подразумевается под обрывом. - просто внешний обрыв связи - тогда ничего и хранить не надо - всё в переменных "хранится" - просто соединяйся и сравнивай версии.
если обрыв - вылет клиента - то просто получение последней версии.
хотя и тут есть вопрос - что за клиент...
15 янв 18, 15:18    [21108054]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
hVostt
Member

Откуда:
Сообщений: 15173
Агнец за бортом
Погуглил - надо постоянно пинговать сервер?


Если вебсокет отвалился, и восстановить связь не получается, значит надо переходить к деградации и long pooling.
15 янв 18, 17:41    [21108687]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
ShSerge
Member

Откуда: ʚонɔ dиw
Сообщений: 24851
hVostt,

Лонг поллинг - очень сурово, да и не прокатит в случае разрыва. Может, просто поллинг (частые запросы)? Раз в минуту - не очень частые.
15 янв 18, 17:48    [21108702]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
ShSerge,
а просто подключаться по ws? можно и с увеличивающимся интервалом.
если связь по ws то и пропала связь вообще. можно просто проверять есть ли выход в инет.
15 янв 18, 18:09    [21108736]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Агнец за бортом
Member

Откуда:
Сообщений: 1146
вадя
при обрыве - клиент имеет сообщение о том что коннект по ws пропал,


Вот это - как он имеет сообщение? Я погуглил - предлагают пинговать сервер.
15 янв 18, 19:23    [21108886]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
Агнец за бортом
Вот это - как он имеет сообщение?
есть такое понятие как "чистое закрытие"
https://learn.javascript.ru/websockets#чистое-закрытие.
у ws есть два события, которые говорят о сомом ws - onclose и onerror , их и надо обрабатывать.
если сработало onclose, можно через некоторое время по новой подключиться - и по событию onopen отключить повтор попыток на соединение.
но если пропал ws, с вероятностью 99% и пропало соединение http, а прпажа соединения по http не отслеживается автоматом, об этом узнаёшь когда пробуешь перегрузить страницу или отправить запрос по ajax. В этом плане ws более информативен, сразу при обрыве - есть событие.
15 янв 18, 19:36    [21108908]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
hVostt
Member

Откуда:
Сообщений: 15173
ShSerge
Лонг поллинг - очень сурово, да и не прокатит в случае разрыва.


Почему сурово?
Почему не прокатит?

:)
15 янв 18, 20:28    [21108959]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
hVostt
ShSerge
Лонг поллинг - очень сурово, да и не прокатит в случае разрыва.


Почему сурово?
Почему не прокатит?

:)

потому чт лонг поллинг подразумевает наличие связи.
16 янв 18, 01:53    [21109282]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
hVostt
Member

Откуда:
Сообщений: 15173
вадя
потому чт лонг поллинг подразумевает наличие связи.


временный разрыв связи и отсутствие связи -- абсолютно разные вещи.
16 янв 18, 09:01    [21109455]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 36536
вадя
В этом плане ws более информативен, сразу при обрыве - есть событие.
это ты с автором. Он говорит нет, ты говоришь есть.
16 янв 18, 09:12    [21109474]     Ответить | Цитировать Сообщить модератору
 Re: Как организовать работу по вебсокету?  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15196
Petro123
вадя
В этом плане ws более информативен, сразу при обрыве - есть событие.
это ты с автором. Он говорит нет, ты говоришь есть.

я говорю на о,основании доков ws и практики работы с ws.
16 янв 18, 09:17    [21109489]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / HTML, JavaScript, VBScript, CSS Ответить