2016-08-01 2 views
0

Я использую веб-сайт javascript для подключения к серверу websocket. Я использую фреймворк python для навигации по веб-страницам.html5 websockets close connect при нажатии ссылки

мой проект, как показано ниже:

  1. маршрут "/" оказывает index.html страницу. На этой странице я создаю сетевое соединение .
  2. , когда я получаю данные с сервера, я перейти к другому маршруту (например: «/ страница/1»)

Когда я нажимаю на HREF ссылки на моей странице index.html, я вижу websocket закрывается.

Я гугл и реализован 2 способа постоянного хранения.

  1. LocalStorage

  2. Shared Web Workers

Оба они не были никакой пользы, так как, то WebSockets закрываются, когда я нажимаю на ссылку HREF. Из этого я считаю, что постоянное хранилище экземпляра websocket не является решением моей проблемы (пожалуйста, поправьте меня, если я ошибаюсь). Пожалуйста, предложите мне правильный подход к решению моей проблемы. Заранее спасибо.

Я использую последнюю версию Google Chrome (52.0.2743.82)

ответ

0

Соединение WebSocket только сохраняется до тех пор, как страница она была создана для разомкнут. Загрузка другой страницы закрывает WebSocket, поэтому сохранение ссылки на объект не помогает (ссылки на него больше не существуют). После каждой загрузки страницы вам необходимо установить новое соединение WebSocket. (Для более старых взглядов, как проблемы здесь, см. http://tavendo.com/blog/post/websocket-persistent-connections/ и 10.2.3 в спецификации HTML https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction)

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