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长连接的主要内容,如果未能解决你的问题,请参考以下文章

轮询长轮询长连接socket连接WebSocket

php+ajax长轮询实现web即时聊天

php+ajax长轮询实现web即时聊天

如何在页面离开时终止长轮询 Ajax 请求

Tornado-长轮询_webSocket

php javascript comet