首页 >php教程 >PHP源码 >PHP Push 服务器端代码

PHP Push 服务器端代码

PHP中文网
PHP中文网原创
2016-05-25 17:04:341005浏览

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[&#39;user_id&#39;] = $user_id;
        $where[&#39;time&#39;] = array(&#39;elt&#39;, time() - 1);
        $model = M("Push");
        $data = $model -> where($where) -> find();
        $where[&#39;id&#39;] = $data[&#39;id&#39;];
        //dump($model);
        if ($data) {
            sleep(1);
            $model -> where("id=" . $data[&#39;id&#39;]) -> delete();
            $this -> ajaxReturn($data[&#39;data&#39;], $data[&#39;info&#39;], $data[&#39;status&#39;]);
        } else {
            sleep(2);
        }
    }
    $this -> ajaxReturn(null, "no-data", 0);
}

push客户端

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="keywords" content="keywords" />
    <meta name="description" content="description" />
    <script type="text/javascript" src="__PUBLIC__/js/jquery.js"></script>
    <script type="text/javascript">
            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="<h4><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button><span>"+info+"</span></h4>"
                    $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;
            }
 
        </script>
</head>
<body>
</body>
</html>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn