Под ним веб-сокет - это просто TCP-сокет.Итак, сначала вы должны отслеживать все возможные состояния ошибок и уведомления сокетов.Затем, во-вторых, если вы хотите окончательно узнать, что сокет все еще жив, вам придется отправлять обычный фрагмент данных и искать ответ сервера.
Следует помнить, что на устройствах с питанием от батареи (телефонах,планшеты, ноутбуки), регулярное сетевое сердцебиение может привести к значительному расходу заряда батареи, если между тактами нет большой длительности.
Другой альтернативой может быть реализация очень умной обработки ошибок при отправке и некоторого интеллектуального обнаружения.для полученных данных.Для отправки, если вы отправляете некоторые данные и обнаруживаете, что получаете сообщение об ошибке, поскольку сокет кажется неработоспособным, вы можете автоматически разорвать соединение, создать новое и попытаться отправить данные еще раз.Единственное, что с этим связано: вы должны тщательно кодировать, чтобы избежать любого цикла, в котором вы получаете ошибку, воссоздаете сокет, получаете ошибку, воссоздаете сокет снова и снова.Как правило, вы пытаетесь повторить только небольшое количество раз (2-3) и интервал между повторными попытками будет меньше.
Для получения, если вы ожидаете, что вы будете получать обновления с сервера время от времени (скажем,по крайней мере, каждые 15 минут), и с момента последнего обновления прошло больше времени, чем вы, возможно, вы захотите проверить существующее соединение, чтобы убедиться, что оно все еще живое.
Преимущество использования этого типа техникичто, когда все работает правильно, вы не используете больше передачи / батареи, чем необходимо, но у вас все еще есть некоторые схемы обнаружения / обработки проблем, чтобы автоматически определять, когда может возникнуть проблема с подключением, и автоматически восстанавливать его.