comet realization with ajax&php

1.prepare front-end code, meta content-type cannot be ignored! as to the xhr, status should be 3

<!doctype html>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

    <div id="d"></div>

    <script type="text/javascript" src="/dwztp/Public/dwz/js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
    var xhr=new XMLHttpRequest(),pos=0;
    xhr.onreadystatechange=function(){
        if(xhr.readyState==3){
            $("#d").html(xhr.responseText.substr(pos));
            pos= xhr.responseText.length;
        }
        else{
            $("#d").html(xhr.responseText);
        }
    };
    $.ajaxSetup({cache:false});
    xhr.open("get","a.php",true);
    xhr.send(null);
    // $.get("a.php",function(data){
    //     //document.write(data);
    // });
    </script>
</body>

</html>

2.back-end, remember to to call two methods to set time limit to unlimited and cache-control to be no-cache;

<?
    set_time_limit(0);
    header("Cache-Control: no-cache, must-revalidate");
    echo(date(‘Y‘));
    $no=0;
    while (date(‘Y‘) == ‘2016‘){
        echo ‘hello 2016+‘.$no.‘<br/>‘;
        ob_flush();
        flush();
        sleep(2);
        $no++;
    }
?>
时间: 2024-10-09 06:28:58

comet realization with ajax&php的相关文章

Comet ASP.NET AJAX 示例

最近公司有个项目,里面要求要用到Comet技术,所以就到网上找了一下相关的资料和文章,发现有些人说用Ajax的长轮询比较好,后来就百度了一下,发现comet貌似就是通过ajax演变而来的,也就是comet是ajax里面的一种,只不过有多种实现方式,下面我来贴一个经过自己修改后的代码,最后也会贴一个我在博客园上看到的一篇文章的地址,我的代码是通过他的文章所受到的启发修改的,感谢他. 前台: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi

HTTP 笔记与总结(9)分块传输、持久链接 与 反向 ajax(comet / server push / 服务器推技术)

反向 ajax 又叫 comet / server push / 服务器推技术 应用范围:网页聊天服务器,例如新浪微博在线聊天.google mail 网页聊天 原理:一般而言,HTTP 协议的特点是,连接之后断开连接(服务器响应 Content-Length,收到了指定 Length 长度的内容时,也就断开了).在 HTTP 1.1 协议中,允许不写 Content-Length,比如要发送的内容长度确实不知道,此时需要一个特殊的 Content-Type:chunked,叫做分块传输,只有当

《JAVASCRIPT高级程序设计》Ajax与Comet

Ajax,是Asynchronous JavaScript + XML的简写,这一技术能向服务器请求额外的技术而无需卸载页面,会带给用户更好的体验.Ajax的核心是XMLHttpRequest对象.为了防止XSS(跨站点脚本).CSRF(跨站点请求伪造)等攻击,Ajax有着同源策略的限制:解决跨域的方式有CORS(跨源资源共享).图像Ping和JSONP. Comet是对Ajax的扩展,让服务器向浏览器推送数据,有长轮询和HTTP流两种方式实现. webSocket是一种使用自定义的协议,与服务

反向Ajax,第1部分:Comet介绍

英文原文:Reverse Ajax, Part 1: Introduction to Comet 在过去的几年中,web开发已经发生了很大的变化.现如今,我们期望的是能够通过web快速.动态地访问应用.在这一新的文章系列中,我们学习如何使用反向Ajax(Reverse Ajax)技术来开发事件驱动的web应用,以此来实现更好的用户体验.客户端的例子使用的是JQuery JavaScript库,在这首篇文章中,我们探索不同的反向Ajax技术,使用可下载的例子来学习使用了流(streaming)方法

php开发客服系统(持久连接+轮询+反向ajax)

欢迎在php严程序 - php教程学习AJAX教程, 本节课讲解:php开发客服系统(持久连接+轮询+反向ajax) php开发客服系统(下载源码) 用户端(可直接给客户发送消息)客服端(点击用户名.即可给该用户回复消息) 讲两种实现方式:一:iframe + 服务器推技术comet(反向ajax,即服务器向浏览器推送数据)二:ajax持久连接 + 长轮询 客服端采用第一种方式:iframe + 服务器推技术思路:1:新建comentbyiframe.php 该用文件使用while(true)一

WEB实时聊天 comet推技术

转自:http://www.cnblogs.com/wodemeng/archive/2012/04/06/2435302.html 今天晚上朋友遇到web服务端推技术的问题,自己就查了下资料,学习了下 源代码:http://files.cnblogs.com/wodemeng/AspNetComet.zip Comet 有时也称反向 Ajax 或服务器端推技术(server-side push).其思想很简单:将数据直接从服务器推到浏览器,而不必等到浏览器请求数据. =============

php javascript comet

简单描述: comet是用ajax实现的服务器推送,有两种实现comet的方式,长轮询和流,这里只实现长轮询. 长轮询的过程:页面发起一个服务器请求,然后服务器一直保持连接打开,直到有数据返回.返回数据之后浏览器关闭连接,随即又发起另一个服务器请求.这一过程在页面打开期间一直保持连续不断. 这种方式节省带宽,并且递归请求(有顺序),跟普通轮询无序相比好很多. testPush.html,内容如下 简单描述: comet是用ajax实现的服务器推送,有两种实现comet的方式,长轮询和流,这里只实

反向Ajax,第2部分:WebSocket

英文原文:Reverse Ajax, Part 2: WebSockets 前言 时至今日,用户期待的是可通过web访问快速.动态的应用.这一文章系列展示了如何使用反向Ajax(Reverse Ajax)技术来开发事件驱动的web应用.该系列的第1部分介绍了反向Ajax.轮询(polling).流(streaming).Comet和长轮询(long polling).你已经了解了Comet是如何使用HTTP长轮询的,这是可靠地实现反向Ajax的最好方式,因为现有的所有浏览器都提供支持. 在本文中

反向Ajax,第3部分:Web服务器和Socket.IO

英文原文:Reverse Ajax, Part 3: Web servers and Socket.IO 前言 时至今日,用户期待的是可通过web访问快速.动态的应用.这一文章系列展示了如何使用反向Ajax(Reverse Ajax)技术来开发事件驱动的web应用.系列的第1部分介绍了反向Ajax.轮询(polling).流(streaming).Comet和长轮询(long polling).你已经了解了Comet是如何使用HTTP长轮询的,这是可靠地实现反向Ajax的最好方式,因为现有的所有