hun*_*ley 37 android http push-notification websocket ios
在移动设备(iPhone/Android)上,通过实施WebSockets与HTTP对电池消耗的影响是什么?
假设我正在构建一个即时消息应用程序并有两个选项:
有人告诉我,维持一个持久的WebSocket连接将是一个巨大的电池耗费因为它需要天线持续活动,而不是在每次请求后断电 - 但这是真的吗?
这个答案表明,在iOS上,每个设备始终与推送通知服务保持持久连接(类似于WebSockets,我猜),那么这是不是表明设备的天线无论如何都是24/7运行?
对于即时消息应用程序来说,HTTP请求的额外开销是非常微不足道的,但是在需要不断下载大量项目的应用程序中,持久的WebSocket连接将非常有用.有关在移动设备上维护长期WebSocket连接的任何见解(特别是有关电池消耗)将非常有用!
Pau*_*aul 27
处于空闲状态的纯WebSockets/TCP套接字解决方案(没有乒乓包)甚至不检测连接丢失,因为它不发送任何数据.一旦发生握手,它会假定连接已建立,直到某些东西关闭套接字或发送方将尝试发送一些数据并且检测到不再有连接(在这种情况下,套接字有时会自动关闭,但我不会计算在上面).
因此,当连接处于空闲状态时,WiFi可以毫无顾虑地进入睡眠状态,从而最小化功耗.但是有一些缺点:它没有检测到连接丢失,因此如果ping失败,你必须实现ping-pong解决方案并尝试重新连接.ping循环将影响CPU使用率和功耗,但它将远低于始终处于"开启"状态的WiFi.当然,在睡眠模式下,您将失去接收数据的能力.
来源:自己的Android和WebSockets体验.
| 归档时间: |
|
| 查看次数: |
6731 次 |
| 最近记录: |