【问题标题】:App engine channel successfully created but unusable应用引擎通道已成功创建但无法使用
【发布时间】:2012-12-30 08:30:57
【问题描述】:

我在使用 App Engine 通道 API 时遇到了间歇性问题。在大多数情况下,也许 90% 的时间里,一切正常。但是剩下的 10% 的时间我得到一个不可用的频道。看了几个月的代码,我坚信这个问题不是由于逻辑错误造成的。我所说的不可用通道是指即使客户端成功连接到它,服务器也无法向它发送消息。客户端和服务器上涉及的大部分操作都成功完成:

  • 在服务器上,我使用会话唯一的新客户端 ID 创建了一个通道
  • 客户端获取相应的令牌并连接到它
  • 在客户端,onOpen() 在通道套接字上被调用

没有成功的一件事是为这些有缺陷的通道调用 /_ah/channel/connected。我已经尝试了几十种可能的解决方法,但都没有成功。现在我通过优雅地重试直到成功来处理这个问题,但是如果没有这些技巧,它会很好地工作。

【问题讨论】:

    标签: google-app-engine channel-api


    【解决方案1】:

    我还没有看到任何代码,但从你所说的可能与它有关

    Intermittent error code 400, description “” on client connecting to channel

    我正在对所有客户端套接字使用一种蛮力循环消息传递(即使它们已经关闭,它有点多余但开销似乎很低)并且还没有发现任何问题(我也没有测试过它也很好)

    【讨论】:

    • 嘿,我也发布了这个问题 - 它是相关的,但根据我的测试是一个不同的问题。在那个问题中你会得到一个错误,所以你至少可以做点什么,即使目前似乎没有任何东西可以保证解决。在这种情况下,没有错误 - 你得到一个看起来有效的通道,所有调用都成功但实际上已经死了。另外 - 另一个问题似乎比这个更频繁地发生。
    • 如果你想发布一些代码 sn-ps 我可以在这里运行它并尝试复制你的问题?
    【解决方案2】:

    【讨论】:

    • 谢谢,所有使用频道的人都应该更新到 1.8.2。虽然这一点与问题无关:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 2018-02-08
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多