Мне нужно проверить, установлено ли соединение с моим сервером websocket или нет.
В настоящее время я МОЖЕТ подключиться к серверу, но хочу, чтобы у него была возможность поймать возможность того, что этот сервер недоступен, поэтому этот вопрос касается того, что делать, если соединение веб-сокета невозможно установить или когда оно время из.
Используя только базовый код websocket в Firefox, он закроется через 20 секунд и вызовет мой обработчик ошибок. Но это также приведет к ошибке JavaScript, которая (по крайней мере, для меня с использованием Firebug) появляется в браузере. Затем в журнале отображается:
Firefox can't establish a connection to the server at ws://192.168.0.1/.
Что я пробовал до сих пор:
- Предотвратите 20-секундный тайм-аут, добавив мой собственный
window.timeout
, который проверяет, был ли обработчикonopen
еще вызван или нет, но это не мешает ошибке JavaScript. -
Принудительно закройте websocket в конце моего собственного тайм-аута, но теперь я получаю ДВУХ ошибок JavaScript - исходный плюс:
The connection to ws://192.168.0.1/ was interrupted while the page was loading.
-
Добавление
try {} catch(e) {}
в мой код, как при подключении сокета, так и при закрытии - без изменений.
Любые идеи о том, как заставить ошибки websocket не отображаться в браузере?