首页 > 作文

PHP实现长轮询消息实时推送功能代码实例讲解

更新时间:2023-04-09 01:55:32 阅读: 评论:0

本文实例讲述了php实现的消息实时推送功能。分享给大家供大家参考,具体如下:

入口文件index.html

<!doctype html><html><head> <title>反ajax推送</title> <style>  .nd{color:#555;text-align: left;}  .require{color:blue;text-align: right;}  .content_box{text-align: center;margin: 20px;     border: 1px solid #ddd;padding: 20px;} </style> <script src="http://code.jquery.com/jquery-1.11.2.min.js"></script></head&g怀孕 螃蟹t;<body> <div class="co金士顿防伪查询ntent_box" id="content_box_title" style="border: none;">消息框</div> <div class="content_box" id="content_box"> </div> <div style="width: 450px;margin: 0 auto;">  <lect id="urname" style="font-size: 20px;">   <option value="1" lected="lected">1</option>   <option value="2">2</option>  </lect>  <input type="text" style="font-size: 20px;" value="" id="nd_text">  <button id="btn_nd" style="font-size: 20px;">发送</button>  <button id="btn_link" style="font-size: 20px">连接</button> </div> <div class="error_tip" id="error_tip" style="color: red;"> </div> <script>  $(function(){   //学前教育专业代码发送消息   $('#btn_nd').click(function(){    var nd_text = $('#nd_text').val();    if(nd_text.length <= 0){     $('#error_tip').html('不能输入空值');    }el{     nd(nd_text);    }   });   //按回车键发送消息   $('#nd_text').on('keyup',function(e){    if(e.keycode == 13){     $('#btn_nd').trigger('click');    }   });   //建立通讯链接   $('#btn_link').click(function(){    connect();    var _this = $(this);    _this.attr('disabled',true);    _this.html('已连接');   });  });  //建立通讯连接函数  function connect(){   $('#content_box_title').html($('#urname').val()+'的消息窗口');   $.ajax({    data:{'ur':$('#urname').val()},    url:'ajaxpush.php',    type:'get',    timeout:0,    datatype:'json',    success:function(data){     $('#content_box').append('<div class="require">'+data.msg+'</div>');     connect();    }   });  千里送鹅毛的下一句}  //发送消息函数  function nd(masge){   var ur =$('#urname').val();   $.getjson('write.php',{'msg':masge,'ur':ur},function(data){    if(data.sf){     $('#content_box').append('<div class="nd">'+masge+'</div>');     $('#nd_text').val('');    }el{     $('#error_tip').html('输入保存错误!');    }   });  } </script></body></html>

ajax处理输入 write.php

<?php/** * created by txm. * time: 2017/4/18 13:13 * function: */$filename = dirname(__file__).'/data.txt';$isread_file = dirname(__file__).'/isread.txt';$ur = dirname(__file__).'/ur.txt';//写入消息,消息未读,谁发送的消息file_put_contents($filename,$_get['msg']);file_put_contents($isread_file,'0');file_put_contents($ur,$_get['ur']);echo json_encode(array('sf'=>true));

长轮询推送 ajaxpush.php

<?php/** * created by txm. * time: 2017/4/18 13:12 * function: */$filename = dirname(__file__).'/data.txt';$isread_file = dirname(__file__).'/isread.txt';$urfile = dirname(__file__).'/ur.txt';$get_ur = $_get['ur'] == '1'?'2':'1';$msg='';while(1){ $msg = file_get_contents($filename); ab级英语考试$isread = file_get_contents($isread_file); $ur = file_get_contents($urfile); //是对方发送的消息,设置消息已读,退出循环。 if($isread == '0' && $get_ur == $ur){  file_put_contents($isread_file,'1');  break; } sleep(1);}echo json_encode(array('msg'=>$msg));

到此这篇关于php实现长轮询消息实时推送功能代码实例讲解的文章就介绍到这了,更多相关php实现长轮询消息实时推送内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-09 01:55:29,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/ce9077b7c7aafd8a08453f8a01871239.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP实现长轮询消息实时推送功能代码实例讲解.doc

本文 PDF 下载地址:PHP实现长轮询消息实时推送功能代码实例讲解.pdf

标签:消息   实时   发送消息   函数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
  • PHP实现长轮询消息实时推送功能代码实例讲解
    本文实例讲述了php实现的消息实时推送功能。分享给大家供大家参考,具体如下:入口文件index.html 反ajax推送</titl </div> </div> </li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/962f69229e311fac6fd78e372e9f3b1a.html" title="酱焖黄花鱼、彩色虾饼、鸡蛋饼怎么制作" target="_blank">酱焖黄花鱼、彩色虾饼、鸡蛋饼怎么制作</a></li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/205b986967e47194b542603be7e7bfef.html" title="php命令行模式代码实例详解" target="_blank">php命令行模式代码实例详解</a></li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/406b9547308722b9302f7c7f98a3e5dd.html" title="网站代备案多少钱(购买已备案域名的注意事项)" target="_blank">网站代备案多少钱(购买已备案域名的注意事项)</a></li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/cefa170c8c65a99ceeb51dc653ba1a4b.html" title="PHP时间类完整代码实例" target="_blank">PHP时间类完整代码实例</a></li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/c9b0210e19eed8029bd6a101a79718a8.html" title="php中的try catch简单用法" target="_blank">php中的try catch简单用法</a></li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/11604e873a639889d7af2850b4d50a76.html" title="cdr可以直接打开ai文件吗(ai转成cdr格式讲解)" target="_blank">cdr可以直接打开ai文件吗(ai转成cdr格式讲解)</a></li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/a12052c5e0f27794bd23cd1384bb7a59.html" title="rrweb + vue用户屏幕行为录制" target="_blank">rrweb + vue用户屏幕行为录制</a></li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/98a712a5901b8e2526431ca0e9e8dfa3.html" title="豆虫养殖技术(豆虫怎么养殖)" target="_blank">豆虫养殖技术(豆虫怎么养殖)</a></li> <li><span class="date">0℃</span><i class="iconfont icon-jiantou_yemian_xiangyou th_cl4"></i><a class="th_hover_a4" href="https://www.wtabcd.cn/fanwen/zuowen/2ed859fdc741d1af9a7cd526866f3300.html" title="起亚将在上海未来汽车概念车Futuron Concept上展示" target="_blank">起亚将在上海未来汽车概念车Futuron Concept上展示</a></li> </ul> </div> <!--右侧广告2--> <div class="th_ad3 th_top"> <div> <script src='https://www.wtabcd.cn/fanwen/d/js/acmsd/thea16.js'></script> </div> </div> <!--标签云--> <div class="thleftcon th_top"> <div class="thleftbt thwenzhang thsec4"><span class="th_cl4">热门标签</span></div> <ul class="th-7 th_tag4"> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%88%90%E8%AF%AD">成语</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E7%9A%84%E6%98%AF">的是</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%BD%A2%E5%AE%B9">形容</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E8%8C%83%E6%96%87">范文</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%8F%A5%E5%AD%90">句子</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%B7%A5%E4%BD%9C%E6%80%BB%E7%BB%93">工作总结</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%9C%89%E5%93%AA%E4%BA%9B">有哪些</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%B7%A5%E4%BD%9C%E8%AE%A1%E5%88%92">工作计划</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%90%88%E5%90%8C%E8%8C%83%E6%9C%AC">合同范本</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%8F%8D%E4%B9%89%E8%AF%8D">反义词</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D">什么意思</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E7%9A%84%E4%BA%BA">的人</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E8%87%AA%E5%B7%B1%E7%9A%84">自己的</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%A4%A7%E5%85%A8">大全</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E8%AE%B2%E8%AF%9D">讲话</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E9%83%BD%E6%98%AF">都是</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%9D%90%E6%96%99">材料</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E7%94%9F%E9%95%BF">生长</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E8%BF%98%E4%B8%8D">还不</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E8%8B%B1%E8%AF%AD">英语</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%9C%9F%E5%A3%A4">土壤</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%AD%A9%E5%AD%90">孩子</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%87%BD%E6%95%B0">函数</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E4%B8%AD%E5%9B%BD">中国</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%9C%80%E6%96%B0">最新</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%BE%88%E5%A4%9A%E4%BA%BA">很多人</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%B7%A5%E4%BD%9C">工作</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%94%BE%E5%9C%A8">放在</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%88%91%E6%98%AF">我是</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E4%BC%98%E7%A7%80">优秀</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%96%B9%E6%B3%95">方法</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%90%88%E9%9B%86">合集</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%A4%8D%E6%A0%AA">植株</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%A8%A1%E6%9D%BF">模板</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E8%AF%AD%E6%96%87">语文</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E8%BF%99%E4%B8%80">这一</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E5%AD%A6%E6%A0%A1">学校</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%8A%A5%E5%91%8A">报告</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E6%97%B6%E9%97%B4">时间</a></li> <li><a href="https://www.wtabcd.cn/fanwen/e/tags/?tagname=%E9%A3%8E%E6%B0%B4">风水</a></li> </ul> </div> <!--右侧广告3--> <div class="th_ad3 th_top"> <div> <script src='https://www.wtabcd.cn/fanwen/d/js/acmsd/thea17.js'></script> </div> </div> </div> </div> </div> <!--页面底部--> <script src="/js/ntj.js" type="text/javascript"></script> <div class="footer2"> Copyright ©2019-2022 Comsenz Inc.Powered by © <a href="https://beian.miit.gov.cn/"> </a><script type="text/javascript" src="//js.users.51.la/21453873.js"></script> <a href="http://www.wtabcd.cn/zhuanli/" target="_self">专利检索</a>| <a href="https://www.wtabcd.cn/maps/maps.html">网站地图</a></div> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?62b41085d0bd2fa66fe70b088f2c9aec"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!--右侧悬浮客服--> <div class="thgotop"> <ul> <li id="guan" class="ditop th_bg4"> <div class="yewan"> <i class="iconfont icon-guandeng"></i> <span class="">我要关灯</span> </div> <div class="baitian"> <i class="iconfont icon-zu"></i> <span class="">我要开灯</span> </div> </li> <li id="go_top" class="ditop th_bg4"> <i class="iconfont icon-zhiding"></i> <span>返回顶部</span> </li> </ul> </div> <script type="text/javascript" > var swiper = new Swiper('.thbanner', { navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, loop: true, autoplay: { delay: 1500, stopOnLastSlide: false,//如果设置为true,当切换到最后一个slide时停止自动切换 disableOnInteraction: true,//用户操作swiper之后,是否禁止autoplay }, pagination: {//分页器 el: '.swiper-pagination', clickable: true,//点击分页器的指示点分页器会控制Swiper切换 }, }); var swiper = new Swiper('.thslide2', { slidesPerView: 4, spaceBetween: 10, loop: true, autoplay: { delay: 1500, stopOnLastSlide: false,//如果设置为true,当切换到最后一个slide时停止自动切换 disableOnInteraction: false,//用户操作swiper之后,是否禁止autoplay } }); </script> <script type="text/javascript" src="https://www.wtabcd.cn/fanwen/skin/jiankang/js/main.js"></script> <!--百度自动推送--> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body> </html>