在 Web 应用程序中推送通知的有效方式是什么?
我有一个 Web 应用程序,我希望它通过推送通知为每个特定用户动态刷新,而不是定期从服务器提取数据。
最佳答案
最好的并不存在,但您有一些选择来完成它。
Web 套接字(IMO,我推荐这种方法)
第一个也是最有效的方法是在 HTML5 页面中使用网络套接字。您可以使用 PHP 中的库来完成此操作,或者您可以使用带有 Socket.io 或类似工具的 Node.js 服务器来处理您网站的前端(我在在线产品中经常看到这种情况)。
注意:当使用 web 套接字时,客户端和服务器将相互发送 TTL(生存时间)消息,这是一个非常非常小的消息,带有小 header ,只是为了保持连接打开和事件。
短轮询
第二个是短轮询,在这里你每 X 秒或分钟向服务器发出一个 ajax 请求(取决于你想要刷新数据的频率)。 注意:这是效率最低的,因为您向服务器打开大量请求只是为了检查是否有新数据
长轮询
第三个是长轮询,这个类似于短轮询,但您保持单个连接打开较长时间,并在有数据要发送到客户端时从服务器获得响应。这消耗较少,但您仍然保持客户端和服务器之间的永久连接打开。
关于javascript - Web 应用程序的推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22907024/