Я в настоящее время сталкивается проблему с помощью Atmosphere Framework Grails плагин, который является в основном реализация Java и Javascript из атмосферы, но мой вопрос определенно имеем дело с JS (https://github.com/Atmosphere/atmosphere-javascript)Atmosphere Framework Disconnect
Я поражая roadblock в настоящее время, когда происходит отключение, и в то время как это больше проблема в мобильных браузерах, у настольных браузеров иногда возникают проблемы. Мы получаем ошибку «сломанной рамки», которая гласит:
WebSocket connection to '{URL}' failed: Received a broken close frame containing a reserved status code.
Это происходит, когда интернет прерывается по какой-либо причине на любом устройстве. Wi-Fi, 3g/4g, что угодно. Единственный браузер, который, похоже, справляется с этим, - это Firefox, и даже это прикосновение и выход. В настоящее время у нас есть взломщик, чтобы попытаться подключить клиентов к сокету, и он работает достаточно прилично на настольных компьютерах, но не очень хорошо работает на мобильных устройствах. В библиотеке указано, что эта функциональность должна быть встроена, но она не кажется функциональной, и я не могу найти много онлайн, которая говорит о переподключении к сокету, который был закрыт из-за перехвата соединения.
Итак, наконец-то мой вопрос. Я хочу знать, как другие, которые используют эту инфраструктуру, обрабатывают интернет-прерывания в браузерах, в частности Chrome, Safari и IE. Любая помощь будет оценена по достоинству.
Какой плагин вы используете, [атмосфера] (https://grails.org/plugins/atmosphere) или [атмосфера-метеорит] (https://grails.org/plugins/atmosphere-meteor)? Я автор атмосферы-метеора, и я попробую помочь вам. – Ken
Мы используем Atmosphere Meteor с JS/Java из кода jfarcand. Нам удалось решить ряд проблем до сих пор, но возникают проблемы с получением сокетов, которые не мгновенно вымирают, когда сотовый телефон теряет соединение Wi-Fi и свопит к 3g/4g, а затем обратно в Wi-Fi. – Sinistralis
В настоящее время мы находимся в состоянии, когда каждое второе повторное соединение оставляет нас с гнездом, который получает сердцебиение, но на самом деле не передает сообщения. (Мы подозреваем, что предыдущий сокет получает назначение до того, как он закрыт, и клиент остается думать, что он подключен, но нет). – Sinistralis