我想问一下是否有人知道如何通过推送通知通知用户查看我网站的页面(即让我的服务器通知用户他有什么东西给他)。
我理解轮询机制(我可以在Javascript中通过一个带有setInterval()的简单循环来实现它,并传递一个产生异步XMLHttpRequest或getJSON的回调),但推送机制呢?
我想我需要与服务器进行一种调用,告诉客户端它有什么东西给他?假设我的网站是用PHP制作的,有没有办法制作它?
感谢您的关注!
答案 0 :(得分:1)
网络拓扑通常不允许实际推送通知。当然浏览器不会。你可以做的是使用一种特殊的民意调查策略:“长民意调查”。
基本上这些是基于ajax的轮询请求,不服务器立即回答。当某个事件可用或达到定义的超时时,服务器仅发送答案。在这种情况下,轮询将立即由客户端再次实例化。在套接字保持打开的同时,请求不消耗任何资源。实际上,这允许推送通知。
How do I implement basic "Long Polling"?
显然,如果你搜索“php long poll”,谷歌会吐出大量的点击量。
答案 1 :(得分:1)
看看WebSocket - wiki
目前所有流行的浏览器都支持WebSocket。您可以查看here。
对于PHP,有一个很好的解决方案 - 棘轮(http://socketo.me/)