Здравствуйте, Videoman, Вы писали:
V>Здравствуйте, Michael, Вы писали:
M>>конечно вводных мало,
M>>но например у меня похожая путаница была когда тупо стоял ре-коннектор на webscoket, а разборщик сообщений не учитывал момент реконнекта.
M>>при нагруженной сети бывает что ws рвётся, поэтому простейший реконнектор не помешает...
V>Спасибо большое!!! Попадание 100%. Просто пока мало опыта у наших веб-программистов . При сильной загрузке рвалось соединение (а при работе с обычными сокетами, согласителсь, это не часто происходит) и глючила логика реконекта.
V>P.S. Интересно зачем сделано такое поведение ?!
реконнект это правильно, так и надо делать, просто когда юзаещь ws через либы типа socket.it там нюансы скрыты.
вообще разработчиков(или тестировщиков) надо сажать на говно роутер. много чего словится не предвиденного..
у меня так проект один (
https://garaninapps.com/secondstream ) на три месяца сместился когда вместо роутера 5гц
"жадный" арендодатель поставил слабый роутер 2.4....
с нуля протокол пришлось переделывать.
(и я принципиально этот девайс не меняю именно чтобы быть так сказать в реальных условиях а не гугло-офиса
)
Здравствуйте, 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 надо крутить иначе обрыв будет
по любому через какое-то время.