由于googleappengine没有为channelapi提供正式的python客户机API,所以我遵循以下代码https://bitbucket.org/lohre/gae_channel/src/8bd89615ac83?at=default。
问题是我在2-3分钟后或有时立即收到“未知SID”错误。我也找到了修复程序,找到了这个Constant disconnects due to channels going stale for no reason。
然而,建议的解决方案是针对JavaScript客户端的。有人能看看代码并指导我如何消除这个错误吗。我想关闭连接并重新启动会起作用(正如建议的那样),但我也做不到。感谢任何帮助!!谢谢!!
当我写一个节点.js连接到频道服务https://github.com/gelleouet/nodejs-googleapp-channel的模块。我复制了正常工作的Java版本https://github.com/gvsumasl/jacc,我发现了问题。服务通道系统使用在侦听套接字时更改的会话ID。如果新值读取不好,则此错误“Unknow SID”将触发每个通道重新连接。在这方面有几个步骤:
GET/talkgadget/d:读取clientId和sessionId(参见http响应)
POST/talkgadget/dch/bind:读取SID和新sessionId(参见http响应)
POST/talkgadget/dch/bind:没什么可做的。
GET/talkgadget/dch/bind:正在读取用户消息和新的sessionId(所有消息都带有[xx,[“c”,['xxxxxx'。。。包含sessionId)
]
如果在步骤2中没有读取正确的SID,或者没有在每次读取websocket时读取新的sessionId,那么错误400 Unknow SID总是会触发。在
相关问题 更多 >
编程相关推荐