【问题标题】:Google App Eninge Channel API usable for broadcasting JSON-Data to multiple clients?Google App Engine Channel API 可用于向多个客户端广播 JSON 数据?
【发布时间】:2013-01-26 15:36:38
【问题描述】:

我正在阅读有关Google App Engine Channel API 的信息。

我想知道,我是否可以使用此 API 创建消息并将其作为广播发送给所有想要阅读它的客户。 (它们是连接的)。我不明白的是caveats。

我的用例:

  • 我有一个 Liveticker(足球)并发送消息。
  • Live-Ticker-Page 上的所有用户都可以立即看到我的按摩。
  • 用户设备上的分数必须由传入的 JSON 更新

我不想使用轮询。

Google Talk/XMPP 会是更好的选择吗?还是有更好的选择?

【问题讨论】:

    标签: java google-app-engine gwt channel-api


    【解决方案1】:

    是的,你可以。

    注意事项是:

    1. 您必须为每个客户创建一个频道,这意味着您必须将他们的客户 ID 保存在某个地方并循环访问他们,以便向他们每个人发送消息。您不能向每个人都会收到的一个全局 ID 发送一条消息。
    2. 对于每个页面,只能创建一个频道,这意味着例如您不能有一个频道来发送消息以获取一场比赛的得分,而另一个频道则可以发送另一场比赛的消息。两者都必须通过同一渠道发送(尽管您可以为每个渠道使用 iframe)

    【讨论】:

    • XMPP 怎么样,会是更好的选择吗?
    • 我认为Channel API更适合你的应用。如果需要双向通信,我会使用 XMPP。在您的情况下,您只需要发送推送消息以避免不必要的轮询。
    【解决方案2】:

    虽然 Channel API 似乎是更适合您需求的 GAE 工具,但我建议您也考虑 pubnub 或类似的第 3 方服务。

    根据我的经验,它速度极快,而且非常便宜,而且对于发布-订阅,GAE API 比 Channels 更易于使用,因为它对每个通道的多个客户端提供更广泛的支持(即您不需要解决 Channels 警告)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 2012-09-20
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      相关资源
      最近更新 更多