【问题标题】:What are the best ways for a web service to notify a client about new data available?Web 服务向客户端通知可用的新数据的最佳方式是什么?
【发布时间】:2026-02-21 01:50:01
【问题描述】:

服务器是 PHP RESTful Web 服务,客户端可以是 AJAX GUI 或桌面 Java 应用程序。客户端必须在 Web 服务提供的值发生更改时立即更新表示。如何实施?恕我直言,不时轮询 Web 服务似乎不是一个有效的解决方案。 Web 服务必须能够以某种方式通知订阅者有关更新事件的信息。这种情况下常见的最佳做法是什么?

【问题讨论】:

    标签: web-services


    【解决方案1】:

    Web 服务通常不会通知其客户。正如您所说,“不时轮询”是一个可行的解决方案 - RSS 似乎适合您的场景(或任何其他形式的 XML 甚至 JSON,您的服务已经在输出)。
    如果您希望您的客户端对服务器事件做出反应,您可能需要比 Web 服务更强大的东西。

    【讨论】:

    • XMPP 不是个好主意吗? (实际上我还不知道 XMPP 服务器如何将消息推送到客户端,但如果确实如此,那么它可能比 RSS 更好,因为 RSS 仍然必须由客户端轮询)。
    • 有很多可行的选择。我刚刚说过,这些协议比常规 Web 服务更进一步——我倾向于认为服务是被动的。
    最近更新 更多