用于实时更新的Chrome扩展架构:websocket与常规提取

时间:2015-11-29 09:30:06

标签: google-chrome google-chrome-extension architecture websocket socket.io

我正在构建一个由网络服务器构成的应用程序(目前使用的是NodeJS但在这里并不重要)和Chrome扩展程序。

Chrome扩展程序的目的是显示来自服务器的一些数据。为此,我需要扩展以了解服务器端的更改。为此,我看到了3种可能的策略:

1。的WebSocket

在后台使用websocket实时触发更新。

2。常规提取

但我也可以有一个定时器,可以在定义的频率上获取新数据(类似于每分钟)

3。事件触发了提取

另一个解决方案是检测浏览器活动,并在该活动期间触发服务器调用(例如,在活动选项卡上更改)

我看到的交易是浏览器内存/网络使用与实时性。

为了定义实时性的必要性,我将它与未读的电子邮件指示器进行比较:如果用户在一分钟之后就知道这一点并不重要,但从概念上讲,它意味着始终显示过时的数据,而不是听起来很棒。

另一方面,如果使用websockets,或者事件监听器成本太高而最终会使浏览器速度过慢,我宁愿拖延一分钟。 :)

但也许在大多数情况下每分钟取出服务器没有更新发送可能比保持websocket活着更加昂贵......

嗯,对此交易以及如何选择的任何见解都将受到高度赞赏!

特别感谢@ Rob-w帮助我重新提出这个问题。

0 个答案:

没有答案