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