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

问题来源: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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值