2013-04-26 1 views
4

У меня есть приложение, которое использует сервер websocket на основе причала 8. Все работает отлично, и когда пользователь обновляет страницу, закрывает страницу или перемещается на другую страницу, соединение закрывается и на стороне сервера запускается событие onClose.jetty 9, websockets и закрытие соединения с веб-сервером на стороне сервера

Я только что переехал в причал 9 и в firefox все работает одинаково (при обновлении соединение закрыто), но не на хроме или в опере. Я даже закрываю браузеры, а событие onClose не запускается.

Я знаю, что jetty 9 поддерживает только самую последнюю версию протокола веб-сокетов, и я хочу знать, отправляет ли браузер какое-либо сообщение на сервер, когда пользователь обновил страницу, например, и как справиться с этим на пристани или у меня есть для обработки этого в javascript, как в этом примере: Closing WebSocket correctly (HTML5, Javascript) с использованием window.onbeforeunload?

Я бы предпочел, чтобы я мог обрабатывать всю работу на стороне сервера. Благодаря

UPDATE Если закрыть соединение от клиента с помощью ws.close() все работает отлично.

+0

интересный. вы получаете сообщения об ошибке на сервере? – ZhongYu

+1

В течение последних 24 часов здесь подана ошибка. https://bugs.eclipse.org/406449 –

+0

@ zhong.j.yu no. ошибки не запускаются. –

ответ

2

Там было несколько близких и обнаружение ошибок разъединения в Jetty 9.0.0

  • 406449 - разъединение сессии не обнаружены
  • 404991 - WebSocketCloseTest терпит неудачу поддельно

Оба из них были недавно фиксированный и поставленный в Jetty 9.0.3.v20130506, пожалуйста, попробуйте эту версию.

+0

спасибо. Я уже обновил –

Смежные вопросы