【问题标题】:Implementing a client-side WebHook handler?实现客户端 WebHook 处理程序?
【发布时间】:2012-08-31 13:28:24
【问题描述】:

我是 Webhooks 的新手,如果这是一个简单的问题,请见谅。

我很清楚 Webhook 提供程序是如何工作的,即每当需要推送此信息时,它都会将有效负载发送到指定为回调的 URL。

现在我的问题是:如何编写客户端 Webhook 处理程序,它可以检测/处理回调并相应地更新我的客户端。例如,如果我的客户端是一个带有项目符号的简单网页,我想将新数据附加到列表中,只要它通过。

最好,我会追求一个完整的 JavaScript 解决方案......

是否可能已经存在 JS WebHook 客户端/处理程序?看来这应该很常见,应该存在,虽然我什么都没找到。

【问题讨论】:

    标签: javascript http push-notification webhooks


    【解决方案1】:

    看看 WebSockets。根据您的需要,这可能正是您避免轮询并保持同步所需的 - 特别是如果您有很多客户端需要从您的服务器查看相同的更新。

    我强烈推荐Socket.IO

    【讨论】:

    • 你只有客户端吗?我不想在 javascript 中实现服务器端(例如,我宁愿在 Python 中实现),但我想要一个在 javascript 中的客户端示例
    【解决方案2】:

    要使用 webhook API 端点,或者换句话说,“侦听更改”,您需要轮询更改、长轮询更改或您想做的任何其他聪明的事情。

    或者您可以使用任何 javascript Publisher Subscriber 模块轻松完成此操作。尝试用谷歌搜索 PubSub 的东西。这是一个此类工具的示例:http://www.pubnub.com/tutorial/javascript-push-api

    【讨论】:

    • 谢谢,我查看了您建议的 PubSub 工具,但是是否可以从服务器端或 webhook 发送数据的任何位置监听更改?还是这仅适用于客户端到客户端的发布/订阅?
    • 另外,这样的东西(即 Pubsub 框架)与“彗星”相比如何?
    • comet 是监听数据源行为的昵称,所以我提到的所有东西都属于“彗星”的范畴
    • 任何时候发生什么事,你都需要告诉你的 webhook... 发布到它。然后,您需要分别并同时询问 webhook 它有什么以及是否有任何变化。因此彗星
    • 网页如何理解任何已更改或从服务器接收到客户端的事件?客户端监听事件的任何示例示例?谢谢!
    【解决方案3】:

    网络挂钩不是为此而设计的。 Web 挂钩中的事件通知是通过 POST 请求完成的,这意味着您的客户端应用程序无法收到有关新事件的通知,除非它侦听传入的 HTTP 请求(通常客户端位于防火墙后面,因此在大多数情况下这是不可行的)。

    如果您想避免轮询服务器以获取状态更新,请按照matthewhudson 指出的那样使用 WebSockets。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 2021-08-26
      • 2016-04-18
      相关资源
      最近更新 更多