zoukankan      html  css  js  c++  java
  • 方向ajax(http long request实现实时通信)

    现在我们就要通过这种方法来实现实时通信,先说一下原理:

    客户端发起一个ajax长链接查询,然后服务端就开始执行代码,主要是检查某个文件是否被更新,如果没有,睡一会(sleep),醒来接着检查
    如果客户端又发起了一个正常请求),服务端收到后,处理请求,处理完毕后,这时醒来长链接查询继续查找。

    //防止请求超时
    set_time_limit(0);
    //打开输出缓冲控制
    ob_start();
    $pad = str_repeat('-', 100);
    echo $pad . "<br/>";
    //输出缓冲区中的内容
    ob_flush();
    // 刷新输出缓冲
    flush();
    $connect = mysqli_connect('localhost', 'root', '');
    if (!$connect) {
        die('连接失败');
    }
    
    $i = 1;
    while ($i++) {
        mysqli_query($connect, 'use  test');
        /// 注意关键字
        $query = mysqli_query($connect, 'select * from test where `read` = 0 limit 1');
        $res = mysqli_fetch_assoc($query);
        //更新
        $update =mysqli_query($connect, "update test set `read` = 1 where id={$res['id']} ");
    
       if(!empty($res)){
           echo 'update result:'.$update.'    '.$res['user'] . "<br/>";
           echo $pad . "<br/>";
       }
        flush();
        ob_flush();
        //延缓一秒执行
        sleep(1);
    }热烈的笑脸
  • 相关阅读:
    第四章
    第三章随手笔记
    Android深度探索(卷1)HAL与驱动开发
    第十章心得体会
    第九章心得体会
    第八章心得体会
    第六章心得体会
    第七章心得体会
    第五章心得体会
    第四章心得体会
  • 原文地址:https://www.cnblogs.com/webph/p/6541661.html
Copyright © 2011-2022 走看看