文档章节

php+comet反向Ajax聊天小案例

山鹰sniper
 山鹰sniper
发布于 2014/06/27 09:39
字数 243
阅读 208
收藏 2
首先建表
create table comet_msg(
    id int unsigned not null auto_increment primary key,
    content varchar(200) not null default '',
    flag tinyint unsigned not null default 0
)engine=innodb default charset=utf8;

<?php
    set_time_limit(0);
    // ob_start();// 测试时,如果开启ob_start反而没有效果
    $pad = str_repeat('*',6000);
    echo $pad;
    echo '<br />';
    // ob_flush();
    // flush();
    $conn = mysql_connect('localhost','root','2012o912@');
    // mysql_select_db('test',$conn);
    mysql_query("use test");
    mysql_query("set names 'utf8'");

    while(1){
        $res = mysql_query("select * from comet_msg where flag=0 order by id desc",$conn);
        $row = mysql_fetch_assoc($res);
        
        if(!empty($row)){
            echo $row['id'].':'.$row['content'];
            echo '<br />';
            mysql_query("update comet_msg set flag=1 where id='".$row['id']."'");
        }
        ob_flush();
        flush();
        sleep(1);
    }
?>



在浏览器中打开页面,然后在MySQL中插入语句
insert into comet_msg (content) values ('abc1');
insert into comet_msg (content) values ('abc2');
insert into comet_msg (content) values ('abc3');
insert into comet_msg (content) values ('abc4');
insert into comet_msg (content) values ('abc5');
insert into comet_msg (content) values ('abc6');
没插入一次数据都会在浏览器中显示出来
以上源自于燕十八反向Ajax,特别感谢18哥的精彩讲解

© 著作权归作者所有

上一篇: ob缓存
下一篇: PHP文件下载
山鹰sniper
粉丝 4
博文 84
码字总数 28663
作品 0
南开
程序员
私信 提问
HTTP 笔记与总结(9)分块传输、持久链接 与 反向 ajax(comet / server push / 服务器推技术)

HTTP 笔记与总结(9)分块传输、持久链接 与 反向 ajax(comet / server push / 服务器推技术) 反向 ajax 又叫 comet / server push / 服务器推技术 应用范围:网页聊天服务器,例如新浪微博...

蜗牛奔跑
2016/04/28
54
0
PHP中Push(推送)技术的探讨

随着人们对Web即时应用需求的不断上升,Server Push(推送)技术在聊天、消息提醒尤其是社交网络等方面开始兴起,成为实时应用的数据流核心。这篇日志试图探讨的便是各种适合于PHP的Push的实现...

lg2045
2014/08/25
122
1
php+ajax长轮询实现web即时聊天

web im的实现方式有很多种: 1.普通轮询,原理通过js定时重复发送ajax请求服务端,获取数据后显示。 2. 长轮询,ajax请求服务端,服务端有数据会立即返回。服务端无数据时会一直等待,直到有...

hgditren
2017/01/10
0
0
React中Fetch之cors跨域请求的使用

本篇文章主要介绍了react中fetch之cors跨域请求的实现方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 项目中使用了react,当...

前端攻城小牛
2018/12/20
0
0
Ajax Chat的网友评论

使用过即时消息聊天软件的人,可能都会想要找到一种免费的、开源 Web 聊天软件,在这样的软件中,您可以使用自己的代码定制聊天的外观和感受以及它向服务器上的数据库发送消息的方式。有了 ...

红薯
2009/12/11
1K
5

没有更多内容

加载失败,请刷新页面

加载更多

Shell学习记录(持续更新)

一、shell定时备份数据库任务通用脚本 目标:根据定时任务启动脚本,执行数据库备份任务,按照日期进行每日备份,如已经备份则脚本停止,备份任务完成后将结果发送邮件提醒 1.执行数据库备份...

网络小虾米
今天
3
0
PHP计算两个经纬度地点之间的距离

/** * 求两个已知经纬度之间的距离,单位为米 * * @param lng1 $ ,lng2 经度 * @param lat1 $ ,lat2 纬度 * @return float 距离,单位米 * @author www.Alixixi.com */function get...

子枫Eric
今天
14
0
Linux—day 4

ch2 需要掌握的命令 (1)cat -n 1.txt (2)more 1.txt (3)head -n 15 initial-setup-ks.cfg (4)tail -n 17 initial-setup-ks.cfg;tail -f initial-setup-ks.cfg (5)cat -n anaconda-ks.c......

呵呵暖茶
今天
31
0
【Kubernetes社区之路】我的PR被抢了

2019年11月的某天,我无意间发现一个PR作者在自己的PR中抱怨自己的PR没被合入,而另一个比自己提交晚且内容几乎一样的PR则被合入了。 字里行间透露些许伤感外加无奈,原文如下: 作为一名开源...

恋恋美食
今天
40
0
阻塞队列

对于许多线程问题, 可以通过使用一个或多个队列以优雅且安全的方式将其形式化。生产者线程向队列插人元素, 消费者线程则取出它们。 使用队列, 可以安全地从一个线程向另 一个线程传递数据...

ytuan996
今天
48
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部