php_idtor

导航

 

现在微信开发用的人越来越多了,在次期间,客服接口消息也越来越广泛。问题也出现了很多,此次主要针对微信客服接口消息重复三条提出解决方法。

1.进行redis存储,将第一次回复的消息用redis保存起来,在第二次请求时,与之前的redis进行比较。如果是就echo "success";exit;(亲测有效)注意:为了让每次回复的消息要有一个区分,必须保存一个唯一值。

2.这里是我用的方法,网上其实也有。没打注释,所以我去网上看了一下,就是用ob函数,具体代码如下
ignore_user_abort(true);   //设置与客户机断开是否会终止脚本的执行
ob_start(); //缓存开始

$content="xxx。";  
$resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$content); 
echo $resultStr; //被动消息
header('Connection: close');  //这个表示我也不太懂,搜集了一点资料 分享给大家

/*作用就是减少TCP握手次数,开始的三次握手后就可以进行多次HTTP正文请求,可以长时间的保持,也就是加载一个Document的时候,即使有大量的图片等,也只用进行一次握手,这样就大大的减少了传输量了。keep-alive就表示之前已经进行过握手,可以直接进行HTTP正文传输,close表示结束,我接下来没有东西了,可以进行四次握手结束这个TCP连接了*/ 
header('Content-Length: ' . ob_get_length());  
ob_end_flush();  //冲刷出(送出)输出缓冲区内容并关闭缓冲
ob_flush();  
 flush();

//其实说白了就一句话 就是等你程序运行完以后 它才会输出。

//下面就是客服消息

//代码在我上一篇中有介绍

//mysql 操作

//api 调用

//回复客服消息

 

posted on 2017-07-13 22:36  php_idtor  阅读(2554)  评论(0编辑  收藏  举报