微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,如果在调试中,发现用户无法收到响应的消息,可以检查是否消息处理超时。
关于重试的消息排重,有 msgid 的消息推荐使用 msgid 排重。事件类型消息推荐使用 FromUserName + CreateTime 排重。。。没看懂怎么做呢。。
1
paicha 2015-12-09 20:04:38 +08:00
比如关注送积分操作。
后台第一次超时的话,微信会重新发起请求。这时候你的后台就收到两次关注完成的请求了。 当然你不想处理第二次新请求,不然就给用户送两次积分了,那么你的接口要能正确处理重复的请求。 比如你可以自己的业务逻辑判断,使该动作只能完成一次。 或者你判断本次请求的消息是不是已经处理过的,那么就要知道消息的唯一标识是什么。 msgid 、 FromUserName + CreateTime 就是消息的唯一标识。 |
4
aliuwr 2015-12-09 21:30:52 +08:00 1
美丽说的员工就这个能耐?
|