Ну, есть много информации о веб-сокетах. Сама технология потрясающая, в этом нет никаких сомнений. И прежде чем я начну использовать их в своем приложении, я просто хочу, чтобы сообщество ответило на следующие вопросы:
"... для поддержания присутствия приложение может отправлять сообщения keep-alive в WebSocket, чтобы предотвратить его закрытие. из-за тайм-аута простоя ... "
" ... в идеале будущая версия WebSocket будет поддерживать обнаружение тайм-аута, так что она может либо сообщить приложению период для сообщений keep-alive ... "
Это кажется как дежавю. Раньше нам приходилось опрашивать сервер один раз в% period_time%, чтобы получить необходимую обновленную информацию. С веб-сокетами мы должны опрашивать сервер веб-сокетов один раз в% period_time% с помощью сообщений keep-alive , чтобы убедиться, что подключение к Интернету все еще живо / сервер веб-сокетов все еще работает. Какая прибыль?
И еще кое-что, касающееся этих сообщений keep-alive. Протокол Websocket имеет преимущество в использовании меньшего трафика, чем HTTP (S). Если мы отправляем сообщения keep-alive, похоже, что преимущество трафика исчезает. Или, может быть, нет?
Как мне справиться с потерей интернета в моем приложении, если я использую веб-сокеты? Я имею в виду реальную ситуацию, когда соединение с интернетом внезапно пропадает (я имею в виду, что событие "navigator.offline" не произошло).Следует ли мне использовать какую-то функцию setTimeout для поиска сообщений keep-alive или есть лучший способ справиться с этой ситуацией?
REST дает нам четкое представление о том, как должно работать приложение и как должны выглядеть запросы. Как лучше всего это сделать в приложениях на базе веб-сокетов? Должен ли я просто иметь (скажем) сообщения в кодировке JSON с полем request.action? А как приложение должно выполнять PUT-запросы? В модели REST есть URL-ресурсы для решения этой проблемы, поэтому следует ли использовать комбинацию этих подходов или, может быть, есть что-то более простое?