关闭

微信服务器之三次数据传递,排重的问题

标签: 微信三次重复排重异步
1367人阅读 评论(0) 收藏 举报
分类:

问题来源:http://www.zhihu.com/question/22685171

当我们在做微信公众号开发的时候,微信官方有个蛋疼的东西就是


情景假设:

我们发送消息给微信,微信发送消息给我们的服务器,服务器处理,但是这个处理时间很长,那么微信在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次

其实这样有个好处,就是假设出现网络丢包现象,微信这个方式就能很好的处理这个问题,但是这样也加大了我们开发者的工作任务

----------------------以下方法仅适合服务号和企业号,因为普通订阅号不支持(主动发送消息的)高级接口----------------------

方法其实和Aloong说的一样,其实就是先回复一个空白的数据,微信会认为服务器接收到这个这次数据,所以不会再进行消息传递

回复完成之后然后调用微信的高级接口,回复一个自定义数据即可

高级接口貌似只能服务号和企业号使用

需要注意的是response.getWriter()的结果需要及时的关闭,关闭之后再进行耗时操作才是真正的反馈回去了,不然这个(空白)消息是没有反馈回去的

大致流程:

1.取得writer()

2.取得request中的数据放入map中--

3.关闭writer

4.使用map中的数据,进行耗时操作

5.通过高级接口发送数据


李一峰的回复说的也是对的,我正在想怎么按照他的方法搞一搞,这样就不必使用高级接口了

解决方案:http://blog.csdn.net/langren1353464539/article/details/49898067

朋友的小站推广:http://ntaow.com/bimai.jsp

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9239次
    • 积分:183
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类