Время соединения с Websocket иногда истекает при запуске соединения, но только с javascript веб-интерфейсом - PullRequest
1 голос
/ 18 февраля 2020

Итак, у меня есть сервер, получающий wss-соединения в Java, размещенный на google kubernetes engine. Мой веб-сайт подключается к веб-сокету в javascript с использованием библиотеки WebSocket по умолчанию, которая поставляется с javascript.

. Клиент подключается к серверу и иногда работает нормально, но иногда он вообще не может подключиться, не Получи на открытое мероприятие или что-нибудь. Чтобы проверить, является ли это проблемой на стороне сервера или на стороне клиента, я сделал небольшое приложение java, которое подключается к веб-сокету и запускает его в одночасье, выполняя 30 подключений одновременно, и у него не было никаких проблем, поэтому я думаю, что это что-то на стороне клиента. или связанные с сессиями, хранящими что-то в кэше.

Иногда это очень «липко», если вы не подключаетесь один раз, даже если вы пытаетесь подключиться миллион раз, это не сработает, но если вы используете другой браузер, или сбросить Wi-Fi, он снова начнет работать? Кроме того, вскоре после перезапуска сервера он обычно работает нормально, но через некоторое время (часы или на следующий день) он не будет работать.

Одно из самых странных действий заключается в том, что если я проверяю запрос в firefox Вкладка «Сеть» и «редактирование и отправка» в заголовках, она ВСЕГДА будет работать, даже если страница «зависла», не работает, независимо от того, сколько я обновляю sh. Вот пи c того, что я имею в виду: это всегда работает

Используемая мной библиотека java websocket: https://github.com/TooTallNate/Java-WebSocket

Я просто использую встроенную javascript библиотеку соединений:

var wsocket = new WebSocket(address);

Все, что мне нужно, - это согласованное соединение. Я даже пытался исправить код, чтобы повторить соединение, если оно не происходит через определенное время, но из-за «залипания», которое не очень помогает.

Вот скриншот информации о wireshark, Я действительно не знаю, что это означает, но, может быть, это может помочь вам, ребята: wireshark

Мне кажется, что это как-то связано с браузером / сервером, хранящим историю сеансов или что-то?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...