Re[5]: WebSocket
От: Michael  
Дата: 29.02.20 16:47
Оценка:
Здравствуйте, Videoman, Вы писали:

V>Здравствуйте, Michael, Вы писали:


M>>конечно вводных мало,

M>>но например у меня похожая путаница была когда тупо стоял ре-коннектор на webscoket, а разборщик сообщений не учитывал момент реконнекта.
M>>при нагруженной сети бывает что ws рвётся, поэтому простейший реконнектор не помешает...

V>Спасибо большое!!! Попадание 100%. Просто пока мало опыта у наших веб-программистов . При сильной загрузке рвалось соединение (а при работе с обычными сокетами, согласителсь, это не часто происходит) и глючила логика реконекта.


V>P.S. Интересно зачем сделано такое поведение ?!


реконнект это правильно, так и надо делать, просто когда юзаещь ws через либы типа socket.it там нюансы скрыты.

вообще разработчиков(или тестировщиков) надо сажать на говно роутер. много чего словится не предвиденного..
у меня так проект один ( https://garaninapps.com/secondstream ) на три месяца сместился когда вместо роутера 5гц
"жадный" арендодатель поставил слабый роутер 2.4....
с нуля протокол пришлось переделывать.
(и я принципиально этот девайс не меняю именно чтобы быть так сказать в реальных условиях а не гугло-офиса )
Отредактировано 29.02.2020 16:51 Michael . Предыдущая версия .
Re[6]: WebSocket
От: Videoman Россия https://hts.tv/
Дата: 01.03.20 08:45
Оценка:
Здравствуйте, Michael, Вы писали:

Да тут еще оказывается что у клиента WebSocket proxy стоял зачем-то, который тоже терял коннект и снова устанавливал соединение.
А вы не знаете зачем такая реализация? С обычным TCP же нет жесткого требования разрывать соединение в случае высокой нагрузки, ну не идет ответ и и ладно, ждем пока придет.
Re[7]: WebSocket
От: Michael  
Дата: 01.03.20 09:02
Оценка:
Здравствуйте, Videoman, Вы писали:

V>Здравствуйте, Michael, Вы писали:


V>Да тут еще оказывается что у клиента WebSocket proxy стоял зачем-то, который тоже терял коннект и снова устанавливал соединение.

V>А вы не знаете зачем такая реализация? С обычным TCP же нет жесткого требования разрывать соединение в случае высокой нагрузки, ну не идет ответ и и ладно, ждем пока придет.

вообще WS внутри себя периодически шлёт контрольные пинги (https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers )
и в нагруженной сети после потерь нескольких пингов он рвёт соединение (чтобы приложение знало "есть проблемы с сетью"). и по сравнению с TCP где можно долго
тупить пока не словишь дисконнект в WS сделано вроде по быстрее.

плюс могу ещё напомнить что есть лимит на кол-во параллельных соединений который браузер может делать на один домен.
(хотя не уверен что это к WS тоже относиться).
Кстати если у них прокси на базе nginx то там ещё по моему keepalive надо крутить иначе обрыв будет
по любому через какое-то время.
Re[8]: WebSocket
От: Mystic Artifact  
Дата: 01.03.20 09:06
Оценка:
Здравствуйте, Michael, Вы писали:

M>плюс могу ещё напомнить что есть лимит на кол-во параллельных соединений который браузер может делать на один домен.

M>(хотя не уверен что это к WS тоже относиться).
К WS относится в равной мере, хотя в хроме для WS отдельный пул и отдельные нормально-недостижимые дефолтные лимиты.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.