У меня есть приложение веб-сокета, в котором сервер (написанный на Java с использованием Netty) периодически отправляет пинг-фреймы клиентам, чтобы определить, живы ли их соединения (действительно, может случиться так, что сетевое соединение клиента прерывается, и сервер не может обнаружить его). Но что делать, если конкретный браузер не поддерживает функцию пинг-понга? Как я могу обнаружить это в javascript? Например, для веб-сокета я использую if(!window.WebSocket) {...}
, а как насчет пинг-понга?
Как определить, поддерживает ли браузер фреймы для пинг-понга в javascript?
Ответы (1)
Клиент WebSocket, который не поддерживает ping/pong, не соответствует RFC6455 — эта функция является обязательной.
Все основные браузеры поддерживают ping/pong.
Невозможно обнаружить функцию из JavaScript.
person
oberstet
schedule
14.03.2014
Спасибо, поэтому обнаружения поддержки веб-сокетов достаточно.
- person f_ficarola; 14.03.2014
Из моего теста последняя версия IE/Firefox/Chrome/Opera/Safari на iOS будет отвечать PONG на PING с сервера. Однако Safari 5 для Windows не поддерживает эту функцию.
- person Mr.Wang from Next Door; 07.04.2015