博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
方向ajax(http long request实现实时通信)
阅读量:4589 次
发布时间:2019-06-09

本文共 866 字,大约阅读时间需要 2 分钟。

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

客户端发起一个ajax长链接查询,然后服务端就开始执行代码,主要是检查某个文件是否被更新,如果没有,睡一会(sleep),醒来接着检查

如果客户端又发起了一个正常请求),服务端收到后,处理请求,处理完毕后,这时醒来长链接查询继续查找。

//防止请求超时set_time_limit(0);//打开输出缓冲控制ob_start();$pad = str_repeat('-', 100);echo $pad . "
";//输出缓冲区中的内容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'] . "
"; echo $pad . "
"; } flush(); ob_flush(); //延缓一秒执行 sleep(1);}

转载于:https://www.cnblogs.com/webph/p/6541661.html

你可能感兴趣的文章
图像边缘检测
查看>>
Kill_UiAutomator
查看>>
HDU 2157 How many ways??
查看>>
Floyd最短路径
查看>>
方法重载和重写的区别
查看>>
块状元素和内联元素
查看>>
nav元素
查看>>
内存对齐
查看>>
HTML及资源是如何load的
查看>>
虚拟机apache启动
查看>>
【Linux】Centos下安装ffmpeg
查看>>
VSCode使用随笔
查看>>
MySQL 常用命令
查看>>
nginx FastCGI配置 No input file specified
查看>>
iOS - 拓展
查看>>
Windows命令远程执行工具Winexe
查看>>
XamarinAndroid组件教程RecylerView动画组件使用动画(3)
查看>>
linux vim 配置 go 开发环境
查看>>
week 6 CORS
查看>>
Openstack Neutron:二层技术和实现
查看>>