【问题标题】:best approach for realtime notifications实时通知的最佳方法
【发布时间】:2018-06-30 20:40:10
【问题描述】:

首先:这是一个一般问题。我还没有任何代码,我只需要您的(专家)意见

好的,就这样吧。

我正在创建一个用于购买/销售东西的网站,例如 ebay,但规模不大(针对特定类型的产品)。我需要实时通知。直到现在,我使用 PHP/MySQL + jQuery/AJAX。但我想要更好的东西。

如果有人买东西,卖家需要收到买东西的通知。通知可以 (a) 是“实时的”(如果卖家在线)或 (b) 延迟并在卖家上线时显示。

我对 PHP 很熟悉,并且在 Pusher 上“玩弄过”。这是要走的路吗?还是我需要(例如)棘轮之类的东西?或者这只是一样?我应该如何“创造”这个?

认为我应该这样做的方式如下:

  1. 将每个通知存储在数据库中
  2. 如果卖家(渠道)在线,通过推送器推送通知
  3. 如果卖家(渠道)离线,则在他上线时获取所有看不见的通知
  4. 如果看到通知,请在数据库中更新它(或者可能只是从数据库中删除通知?)

对这类东西有(一些)经验的人能给我一些建议吗?

提前致谢!

PS:对不起我的英语(不是我的母语,希望大家能理解我的问题)

【问题讨论】:

    标签: php websocket pusher


    【解决方案1】:

    您可以在本地使用 websocket:

    https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

    https://www.html5rocks.com/en/tutorials/websockets/basics/

    https://caniuse.com/#search=websocket

    注意第一个链接中提到的库。

    Websocket 确实会使用您服务器上的资源(打开连接),因此这可能是选择像 https://pusher.com/pricing 这样的付费解决方案的原因之一

    我确实注意到您从未真正提到您希望通知显示的速度有多快。 Websockets 用于实时更新,如果任何速度较慢,比如 5 - 30 秒,那么如果调用的脚本保持在最低限度,那么在服务器上轮询可能会更容易。您可以智能地轮询:开​​始时快,页面打开时间越长越慢。尝试检查用户在做什么,鼠标光标是否在页面上移动?然后快速进行更新,否则减慢速度。用户在滚动吗?等等。

    PS:正如您在开始时所说,这并不是真正的编程问题。它可能被认为是题外话,回答这样的问题很少会得到奖励或欢迎。因此沉默。

    【讨论】:

      猜你喜欢
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      • 2012-12-26
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      相关资源
      最近更新 更多