ajax 轮询 和 php长连接
Posted 封叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax 轮询 和 php长连接相关的知识,希望对你有一定的参考价值。
php 部分
public function get_comment(){
$post_id = I(‘get.post_id‘,0,‘intval‘);
$table = I(‘get.table‘);
$msg = I(‘get.msg‘);
$comment_model=D("Common/Comments");
$comments=$comment_model->where(array("post_table"=>$table,"post_id"=>$post_id,"status"=>1,‘user_type‘=>2))->order("createtime ASC")->select();
$OldCommentData = count($comments);
if($msg==‘init‘){
if(!empty($comments)){
$comments =self::forData($comments);
}
echo json_encode($comments);exit;
}
$time_count =0;
while(true){
set_time_limit(0);
$time_count++;
$newComments=$comment_model->where(array("post_table"=>$table,"post_id"=>$post_id,"status"=>1,‘user_type‘=>2))->order("createtime ASC")->select();
$newCommentData = count($newComments);
if($newCommentData != $OldCommentData){
if(!empty($comments)){
$newComments =self::forData($newComments);
echo json_encode($newComments);
break;
}
}
usleep(1000);
//一定的时间后没有数据变化也跳出
if($time_count >= 800){
$data = "";
echo json_encode($data);
break;
}
}
}
以上是关于ajax 轮询 和 php长连接的主要内容,如果未能解决你的问题,请参考以下文章