На мобильном устройстве (iPhone/Android), что влияет на потребление батареи, внедряя WebSockets vs HTTP?
Предположим, что я создаю приложение для обмена мгновенными сообщениями и имею два варианта:
- Положитесь на Push Notifications, чтобы уведомить устройство о новом сообщении, а затем выберите это сообщение через API REST.
- Установите соединение WebSocket, когда пользователь запускает приложение, и поддерживайте это соединение, пока приложение активно. Сервер перенаправляет все сообщения непосредственно на устройство, вместо использования Push-уведомлений.
Кто-то сказал мне, что поддерживать постоянное соединение с WebSocket было бы огромным зарядом батареи, потому что требуется, чтобы антенна постоянно работала, а не отключалась после каждого запроса - но это правда?
Этот ответ предполагает, что на iOS каждое устройство постоянно поддерживает постоянное соединение с услугой Push Notification (похоже, похоже на WebSockets), так что это не означает, t, которые предполагают, что антенна устройства работает 24/7 в любом случае?
Дополнительные накладные расходы на HTTP-запросы были бы весьма незначительными для приложения мгновенного обмена сообщениями, но в приложении, где большое количество элементов необходимо загружать постоянно, постоянное соединение с WebSocket было бы очень полезно. Любое понимание поддержки долгосрочных соединений WebSocket на мобильных устройствах (особенно в отношении потребления батареи) было бы чрезвычайно полезно!