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

Откуда:
Сообщений: 1669
Настройка - websocket + nginx https

На быстрых соединениях работуают нармально, но на слабых какой-то ужас творится, постоянные обрывы и таймауты.
Кто их использовал? Как впечатления?

P.S.
Именно чистые websocket а не умные обертки типа socket.io - которые на самом деле не совсем сокеты а могут переключатся на обычный http.
31 янв 18, 14:24    [21154334]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
private,
когда обрыв - есть ошибка и её надо обрабатывать - т.е. подключаться.(производить попытки подключения)
конечно число попыток надо контролировать.
а такие обрывы это и сеть достоинство (оно же и недостаток).
ws - это постоянное соединение, как лампочку к сети -плохая проводка - и будет лампочка мигать...
и тут даже не о слабых/быстрых соединениях речь, проверено на медленных стабильных сетях - работает нормально.
но если сеть рвётся - то тут надо сеть менять... :)
31 янв 18, 15:04    [21154540]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 36532
вадя
когда обрыв - есть ошибка и её надо обрабатывать - т

Угу. Вот с таким гемороем
Как организовать работу по вебсокету?
31 янв 18, 16:11    [21154866]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
private
Member

Откуда:
Сообщений: 1669
автор
...Amongst the various proxy pariahs was my mobile phone network Telstra which basically let you have an open socket, but did not let any data through...
https://samsaffron.com/archive/2015/12/29/websockets-caution-required

Вобщем нафиг, старый добрый аяакс и пулл лучше.
31 янв 18, 16:22    [21154954]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
private
Member

Откуда:
Сообщений: 1669
Там нужно сложную машинерию создавать и на клиенте и на сервере чтобы постоянно пинговать и убивать сокеты. Слишком сложно.
31 янв 18, 16:23    [21154957]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
private
Вобщем нафиг, старый добрый аяакс и пулл лучше.
когда произошел обрыв - тут и ajax не поможет.
private
Там нужно сложную машинерию создавать и на клиенте и на сервере чтобы постоянно пинговать и убивать сокеты. Слишком сложно.
это к чему?
31 янв 18, 16:27    [21154973]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
private,

странная статься , говорит что ws не проходит через прокси надо wss... и типо что wss это плохо, с другой стороны хвалит http2, но там только закрытый канал...
говорит что куча подключений по ws грузят сервер, а запросы по ajax будто не грузят? причем ajax намного больше грузит.
31 янв 18, 16:36    [21155020]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 36532
вадя
странная статься ,
дай другую где есть плюсы и минусы
31 янв 18, 16:44    [21155053]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
hVostt
Member

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


доказать сможешь?
31 янв 18, 17:01    [21155094]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
Petro123
дай другую где есть плюсы и минусы
мне достаточно своей практики использования
hVostt
доказать сможешь?
когда тебе надо иметь информацию в реальном времени и у тебя n+++
клиентов, а инфа может меняться в случайные моменты- то каждый из n+++ клиентов должен бомбить сервер запросам о том, что есть ли для него инфа, таких "пустых" запросов куча..и сервер должен их обработать.
при ws никто сервер не бомбит, событие произошло - сообщения разосланы.
и это подтверждено практикой, люди просто перешли на ws и отказались от покупки сервера, их старый сервер продолжил спокойно курить бамбук. имея приличный запас.
31 янв 18, 17:17    [21155158]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
private
Member

Откуда:
Сообщений: 1669
Короче получается следюшее:

- на хороших соединениях работает отлично.
- на плохих отваливается, но, с пингами и переподключениями работает.
- но даже с переподключениями довольно часто тупит. иногда он тупо зависает - ни ошибки, ничего нету, и сообщений нету. А обычные запросы проходят. Такое впечатление что как написано в той статье - словно трафик где-то теряется по дороге.

Чувак тот про нагрузку имел ввиду что в браузерах есть встроенные ограничения на аякс, которые не позволят всяким дуболомам нагрузить сервер. А в веб-сокетах нету, и там делать все нужно очень аккуратно.
31 янв 18, 17:47    [21155279]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 36532
вадя
мне достаточно своей практики использования

брать на понт — обманывать, обхитрять, дурачить Словарь русских синонимов
31 янв 18, 17:54    [21155326]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
private
Member

Откуда:
Сообщений: 1669
бомбить сервер не надо - открыл Х пулл-аджакс запросов - и держижь их активными так-же как сокет.
31 янв 18, 18:16    [21155392]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
private
бомбить сервер не надо - открыл Х пулл-аджакс запросов - и держижь их активными так-же как сокет.
суть ajax - запрос-ответ
и на каждый запрос должен придти ответ
31 янв 18, 19:16    [21155517]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
private,

это в http2 внесены изменения..
31 янв 18, 19:17    [21155523]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
private
Member

Откуда:
Сообщений: 1669
Есть еще лонг-пулл, когда сервер не отвечает а держит соединение.
31 янв 18, 19:28    [21155543]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
private
Есть еще лонг-пулл, когда сервер не отвечает а держит соединение.
да , но всё это костыли, из-за которых и сделали ws.
31 янв 18, 19:37    [21155562]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
hVostt
Member

Откуда:
Сообщений: 15173
вадя
hVostt
доказать сможешь?
когда тебе надо иметь информацию в реальном времени и у тебя n+++
клиентов, а инфа может меняться в случайные моменты- то каждый из n+++ клиентов должен бомбить сервер запросам о том, что есть ли для него инфа, таких "пустых" запросов куча..и сервер должен их обработать.
при ws никто сервер не бомбит, событие произошло - сообщения разосланы.
и это подтверждено практикой, люди просто перешли на ws и отказались от покупки сервера, их старый сервер продолжил спокойно курить бамбук. имея приличный запас.


кем подтверждено? когда? какие люди? ниче не понял.


вадя
причем ajax намного больше грузит.


вот это с чего вообще взято? с потолка?
31 янв 18, 20:04    [21155614]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
hVostt
кем подтверждено? когда? какие люди? ниче не понял.
могу сказать только что это реальные люди , к которым у меня полное доверие.
hVostt
вот это с чего вообще взято? с потолка?
чтоб получать данные по ajax- надо отправить запрос, а чтоб иметь реальное время надо посылать запросы раз в 1сек, как максимум, и если у тебя достаточное количество клиентов - каждый из них должен посылать запрос в секунду, но не факт что на каждфй запрос придет ответ с новыми данными, т.е. получается "пустой" запрос, а сервер его должен обработать
31 янв 18, 20:30    [21155654]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
hVostt
Member

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


ну что ж, железный аргумент

вадя
чтоб получать данные по ajax- надо отправить запрос, а чтоб иметь реальное время надо посылать запросы раз в 1сек, как максимум, и если у тебя достаточное количество клиентов - каждый из них должен посылать запрос в секунду, но не факт что на каждфй запрос придет ответ с новыми данными, т.е. получается "пустой" запрос, а сервер его должен обработать


в таком случае можно держать websocket соединение и уведомлять клиентов о поступлении новых данных. если клиенту они нужны, он сделает ajax-запрос, который закешируется, и также может быть закеширован на прокси, http-запросы отлично масштабируются.
31 янв 18, 20:54    [21155689]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

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


ну что ж, железный аргумент

вадя
чтоб получать данные по ajax- надо отправить запрос, а чтоб иметь реальное время надо посылать запросы раз в 1сек, как максимум, и если у тебя достаточное количество клиентов - каждый из них должен посылать запрос в секунду, но не факт что на каждфй запрос придет ответ с новыми данными, т.е. получается "пустой" запрос, а сервер его должен обработать


в таком случае можно держать websocket соединение и уведомлять клиентов о поступлении новых данных. если клиенту они нужны, он сделает ajax-запрос, который закешируется, и также может быть закеширован на прокси, http-запросы отлично масштабируются.

конечно можно, а можно просто отправить по ws данные, и никакого ajax. в чем разница между отправкой сообщения о наличии данных и передачей самих данных? абсолютно нет разницы, так зачем ещё и ajax?
31 янв 18, 21:19    [21155736]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
hVostt
Member

Откуда:
Сообщений: 15173
вадя
конечно можно, а можно просто отправить по ws данные, и никакого ajax. в чем разница между отправкой сообщения о наличии данных и передачей самих данных? абсолютно нет разницы, так зачем ещё и ajax?


разница в том, что несколько ajax запросов может обработать несколько разных серверов, что позволяет балансировать и справляться с минимальными затратами с большими нагрузками. кроме этого, http содержит развитый протокол обмена, имеющий огромное количество возможностей, который ВСЕ ПОНИМАЮТ, а твой ущербный «протокол» поверх вебсокета не понимает никто. следовательно, мне придётся затратить огромное количество усилий на то, что я могу получить бесплатно и прямо сейчас. и это будет работать везде, даже на чайнике.

т.е. по всему, всё говорит полностью об обратном вот этому утверждению:

вадя
причем ajax намного больше грузит.


а твоя вера в каких-то там людей, это курам на смех, а не аргументы.
31 янв 18, 22:12    [21155844]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72676
hVostt
т.е. по всему, всё говорит полностью об обратном вот этому утверждению:

вадя
причем ajax намного больше грузит.
так ты же условия поменял.

у вади один сервер с клиентами, которых можно пересчитать по пальцам, и эта фигня никогда не будет масштабироваться. а сравнивает он чистый ajaх, постоянно долбящий сервер, с чистым ws, в который долбит сам сервер только если надо. в таких и только в таких условиях чистый ws будет в выигрыше и будет меньше "грузить", что бы за этим словом не пряталось, трафик или нагрузка сервера.

а ты говоришь о высоконагруженной системе с количеством пользователей, начинающимся с чисел от четырех знаков.

если один клиент сделает запрос на твой сервер, то получит ответ за 3мс (условно). если на вадин - 2
если тысяча клиентов сделает запрос на твой сервер, то получит те же 3мс, а если на вадин, то он впадет в ступор и больше из него не выпадет.
1 фев 18, 01:50    [21156201]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
Antonariy
hVostt
т.е. по всему, всё говорит полностью об обратном вот этому утверждению:

пропущено...
так ты же условия поменял.

у вади один сервер с клиентами, которых можно пересчитать по пальцам, и эта фигня никогда не будет масштабироваться. а сравнивает он чистый ajaх, постоянно долбящий сервер, с чистым ws, в который долбит сам сервер только если надо. в таких и только в таких условиях чистый ws будет в выигрыше и будет меньше "грузить", что бы за этим словом не пряталось, трафик или нагрузка сервера.

а ты говоришь о высоконагруженной системе с количеством пользователей, начинающимся с чисел от четырех знаков.

если один клиент сделает запрос на твой сервер, то получит ответ за 3мс (условно). если на вадин - 2
если тысяча клиентов сделает запрос на твой сервер, то получит те же 3мс, а если на вадин, то он впадет в ступор и больше из него не выпадет.

ты путаешь всё. к серверу на ws делается подключение и всё(если рассматривать режим реального времени) если будет 1000 клиентов будет 1000 коннектов. и сервер будет спать, пока не произойдет событие. при ajax сервер спать не будет, он будет обрабатывать запросы от 1000 клиентов. 1000*3мс=3сек ,даже если распараллелить это все равно постоянная работа сервера. т.е. сервер не успел обработать один цикл обращений, как уже начался следующий.
при ws рассылка на одного клиента будет не 3мс, а намного меньше, просто потому что не надо обрабатывать входящее его нет, уже есть коннект., по которому и идет ответ.
перебрать list из 1000 это менее 3мс.
1 фев 18, 04:24    [21156261]     Ответить | Цитировать Сообщить модератору
 Re: Кто использовал websocket? Жутко ненадежные, ошибки через раз  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15195
Antonariy,
при ajax потребуется масштабирование, при ws оно потребуется уже при намного большем числе клиентов.
1 фев 18, 04:29    [21156262]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / HTML, JavaScript, VBScript, CSS Ответить