padchat-sdk
padchat-sdk copied to clipboard
Token并发检查机制有问题
客户端进程被直接杀掉,重连WebSocket Server,提示信息如下:
WebSocket connection is closed: code = 3202 (registered), reason = 你的Token已经登录了一个机器人,请不要用同一个Token登录多个机器人
强烈建议改进会话检查机制,以及冗余会话机制。新会话启动后可以断开久的会话。
使用padchat-sdk进行测试,此功能是正常的。 测试步骤: 1.同时运行两个demo,第一个启动后可以获取二维码,第二个会收到3202的关闭通知,并不断尝试重连。 2.结束第一个demo,第二个会瞬间连接成功,并获取到二维码。
第一个demo关闭后第二个能连接上并获取到二维码,就是服务器正常。 如果使用非padchat-sdk的方案连接,出现3202,请自行监测到服务器的连接,应当是本地的代码bug
放弃了原来的websockets模式,改用ws4py,效果不错。
仍然怀疑服务端对WebSocket的检测机制存在问题。长时间收不到客户端pong,应该直接断开连接,而不是保持会话记录。