在Web应用程序中使用推送通知的有效方法是什么?
我有一个Web应用程序,我希望通过推送通知为每个特定用户动态刷新它,而不是定期从服务器中提取数据。
答案 0 :(得分:2)
最好的一个不存在,但你有一些选择来完成这个。
第一个也是效率最高的是在HTML5页面中使用Web套接字。您可以使用PHP中的库来完成这项工作,或者您可以使用带有Socket.io或类似功能的Node.js服务器来处理您网站的前端(我在网上产品中看到了很多)。
注意:当使用Web套接字时,客户端和服务器将相互发送一个TTL(生存时间)消息,这是一个非常小的消息,带有小标题只是为了保持连接的开放和活动。 / p>
第二个是短轮询,在这里你每隔X秒或几分钟向服务器发出一个ajax请求(取决于你想要刷新数据的频率)。 注意:效率最低,因为您要向服务器打开大量请求以检查是否有新数据
第三个是长轮询,这个就像短轮询一样,而是你保持一个连接打开更长的时间,并在有数据发送到客户端时从服务器得到响应。这样消耗较少,但您仍然可以在客户端和服务器之间保持永久连接。