首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候需要服务器端推送技术?

什么时候需要服务器端推送技术?
EN

Stack Overflow用户
提问于 2017-06-25 14:31:29
回答 1查看 314关注 0票数 0

现在,我每5分钟通过一个普通的HTTP请求从服务器上提取大约10个kB传感器数据。将来,我可能想增加频率,每30秒提出一次请求。

什么时候需要服务器端推送技术?

显然,准确的答案取决于服务器--但是解决这个问题的一般方法是什么呢?使用push技术绝对是有利的。然而,这必须是一些主要的代码重写。此外,我觉得30秒的间隔还是足够长的,开销(例如HTTP头中的cookie,.)不应该造成太多多余的交通。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-25 15:43:36

Push技术对于下列任何一种情况都很有用:

  1. 当有新数据时,您需要客户端具有较低的延迟时间(例如,不要等待下一个轮询间隔,而是要在几秒钟内甚至在有新数据时发现ms )。
  2. 当您对尽量减少服务器上的开销或客户端的带宽使用或功耗感兴趣时,客户端需要非常及时地知道何时有新的数据。经常从移动客户端进行轮询会消耗带宽和电池。
  3. 当数据可用性不可预测且定期轮询时,通常会导致数据不可用。如果每次投票都会导致数据被收集,并且适度轮询间隔的及时性对您的应用程序来说是足够的,那么切换到推送通知机制就不会有多大的收益。当轮询通常导致一个空请求时,即轮询变得非常低效。
  4. 如果您定期发送数据,并且试图最小化带宽。一个webSocket包比一个HTTP请求要高效得多,因为HTTP请求包括报头、cookie等.一旦已经建立了webSocket连接,就不需要与单个webSocket数据包一起发送。

关于这一专题的其他一些参考资料:

使用Websockets代替RESTful HTTP有哪些缺陷?

Ajax对Socket.io

用于实时数据的websocket与rest?

科多瓦:套接字,PushNotifications,还是反复轮询服务器?

HTML5 WebSocket:网络可伸缩性的量子飞跃

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44747366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档