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);
    }热烈的笑脸
  • 相关阅读:
    配置apache+php环境详解
    美剧推荐之《行尸走肉》
    代码轻松实现wordpress彩色标签云
    php配置支持mysql解决本地安装wordpress问题
    struts2通配符和动态方法调用
    struts2文件上传1
    struts2入门
    jQuery3
    ADT20安装报错
    Android入门
  • 原文地址:https://www.cnblogs.com/webph/p/6541661.html
Copyright © 2011-2022 走看看