【问题标题】:Real time notification for website网站实时通知
【发布时间】:2014-07-25 06:10:55
【问题描述】:

我一开始是做移动应用的,所以我的 php 不是很好。所以问题是我现在怎样才能像 Facebook 一样发出实时通知?我对彗星、轮询、网络套接字等进行了大量研究。

对于网络套接字,我的服务器代理不允许我这样做。

对于彗星来说,这真的会占用大量资源吗?即使我使用 set_time_limit(0),我也总是遇到 500 服务器间隔错误的问题。如何解决这个问题?

用于轮询无 cmets。

那么最好的解决方案是什么?

【问题讨论】:

  • 使用Ajax 将内容加载到您的网站,当它已经完全加载时。 stackoverflow中有很多例子!
  • Erm 你能给我一个在stackoverflow中可用的例子吗?因为我做过研究。不知道是我的英语问题还是什么,但我真的找不到任何答案。对不起。
  • 当然。看看stackoverflow.com/questions/6214201/… 在这个例子中他们使用ruby 而不是php - 但这是可以适应的。和第二个答案中的Ajax Request 是一样的。您只需要更改一些选项。

标签: php real-time long-polling polling phpwebsocket


【解决方案1】:

我认为最适合您的解决方案是使用 ajax。您可以创建函数,使用 ajax 从 php 获取所有通知,然后使用 setInterval 重复此函数,也许是第二个!

【讨论】:

    【解决方案2】:

    对于实时通知系统,您可能需要使用 Web Sockets

    这个link 可能会帮助你PHP

    【讨论】:

      【解决方案3】:

      对于任何简单的实时通知,您都可以使用 ajax 自动刷新 DIV

      您的 include.php 文件将每 5 秒运行一次

      <script type="text/javascript">
      var auto_refresh = setInterval(
      function ()
      {
      $('#load_tweets').load('include.php').fadeIn("slow");
      }, 5000); // refresh every 50000 milliseconds
      </script>
      
      
      <div id="load_tweets"  > </div>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-08
        • 1970-01-01
        • 1970-01-01
        • 2017-05-16
        相关资源
        最近更新 更多