hawkwithwind
hawkwithwind
我这边监测到不定期发生,客户端与服务器连接是活的,但是已经收取不到微信消息。 当发生这种问题时,我重启客户端重做一次自动重连,通常可以解决。 为了定位这个问题,我在客户端代码中加入了对服务器调用websocket的ping,并预期在5分钟内收到ws pong。如果超时就会报警。 ``` wx .on('open', async () => { let ret logger.info('连接成功!') connected = true wx.ws.isAlive = true if (wx.ws.pingLoop) { logger.info('再次启动,首先清除ping loop') try { clearInterval(wx.ws.pingLoop) } catch...
- 我这里开发的功能 bot收到小程序xml后,原样复制,通过sendAppMsg接口发送给群。发送时xml字符串中确认无换行符(\n)无制表符(\t)。 - 遇到的问题 从群里打开小程序的sceneid 预期是1008,实际是1036 参见微信小程序场景值说明 https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html - 猜测可能问题原因 我发送时xml反复与微信原生的xml比对一致,不含换行符制表符。但转发到群里,收到的xml字符串中,每个tag结尾包含\n\t\t\t 形式字符,且原本``````形式的无内容闭合tag,被转换为``````形式。 一个关键信息是,原本``````中的``````为33,而转发后为36 - 担心点 不知为何这个原本来自群聊的卡片被微信认定为来自应用。我担心微信最终会发现这类消息是不合法的渠道发送的,导致帐号封号风险。因此希望能够规避。
3月4日凌晨服务器重启后,客户端尝试重连成功,但是报错等待指令超时。 (在十几个客户端中,两个发生这个问题,其他的正常) 事后在早8点发现,重启客户端自动登录后恢复正常。日志如下 ``` [2019-03-04T00:00:00.502] [INFO] app - Websocket已关闭!code: 1005 - [2019-03-04T00:00:00.502] [INFO] app - 第 1 次与服务器连接断开!现在将重试连接服务器。 [2019-03-04T00:00:00.599] [INFO] app - 连接成功! [2019-03-04T00:00:00.646] [INFO] app - 新建任务成功, json: {...