我正在使用Channel API(GAE Java SDK + GWT),并且试图为有关重新创建通道的问题创建解决方法(到期日期之后并且在抛出错误之后)。我发现这个帖子可能的解决方案,但他们都没有工作:https://groups.google.com/forum/?fromgroups=#!searchin/google-appengine-java/channel/google-appengine-java/kD3H6BWNYuA/NivXiDrqW7QJ令牌到期后Google App Engine Channel API重新连接
我试图删除通道API iframe并在到期时间之前重新创建通道。它接缝工作,但如果我重新创建一个频道定时器不重置,所以如果我尝试创建一个新的频道,并在过期后已打开它,我得到“onerror”和“onclose”(即使我关闭了插座)。如果我刷新页面,它的工作原理,但这不是一个好的选择
此外,如果互联网连接关闭并重新打开,有时我会得到错误代码0或1.同样在这里:我不能重新创建并打开一个新的频道,因为我得到“onerror”和“onclose”。
任何人都可以帮助我解决更具体的细节?
更新: 我使用了一个定时器,在onclose/onerror被调用后重新创建通道(5秒),并且它现在可以工作。但在第一个令牌到期后,重新创建通道将不再起作用:(
我用d socket.close()来自gwt频道api库(这是javascript api的封装),但没有运气。如果我在第一个创建的令牌过期之前重新创建频道,则可以使用它。但它不会重置第一个计时器,因此最终我将无法调用创建和打开通道方法。 –
您可以通过创建1分钟过期时间的频道来尝试此操作,然后使用计时器关闭套接字并每隔15秒重新创建一个频道。从第一个频道创建并打开1分钟后,您将收到代码401,并且将无法创建另一个频道。 –