php 服务器push,PHP Push 服务器端代码

本文档详细介绍了PHP实现的Push服务端代码,涉及定时检查未读消息并删除过期记录,以及客户端的异步推送和消息显示机制。通过Ajax调用,服务器端处理用户请求并返回相应数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP Push 服务器端代码

1.[代码]PHP Push 服务器端

function server() {

for ($i = 0, $timeout = 10; $i < $timeout; $i++) {

if (connection_status() != 0) {

exit();

}

$where = array();

$user_id = $user_id = get_user_id();

session_write_close();

$where['user_id'] = $user_id;

$where['time'] = array('elt', time() - 1);

$model = M("Push");

$data = $model -> where($where) -> find();

$where['id'] = $data['id'];

//dump($model);

if ($data) {

sleep(1);

$model -> where("id=" . $data['id']) -> delete();

$this -> ajaxReturn($data['data'], $data['info'], $data['status']);

} else {

sleep(2);

}

}

$this -> ajaxReturn(null, "no-data", 0);

}

2.[代码]push 客户端

var flag = true;

var runing=false;

push_start();

function sendPush(url,vars,callback){

return $.ajax({

type : "POST",

url : url,

data : vars + "&ajax=1",

dataType : "json",

success : callback

});

}

function hide_msg($obj){

runing=true;

setTimeout(function(){

$($obj).find("h4:first").remove();

if($($obj).find("h4:first").length){

hide_msg($obj);

}else{

runing=false;

}

},3000)

}

function show_msg(info){

if(info!="no-data"){

html="

×"+info+"
"

$obj=$(".msg",parent.document);

$obj.prepend(html);

if (runing==false){

hide_msg($obj);

}

}

}

function push_start(){

sendPush("{:U(push/server)}","id=1", function(data){

show_msg(data.info);

if (flag){

push_start();

}

});

}

function push_stop() {

flag = false;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值