怎么在PHP中实现一个长轮询消息实时推送功能

  介绍

今天就跟大家聊聊有关怎么在PHP中实现一个长轮询消息实时推送功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

入口文件索引。html

& lt; ! DOCTYPE  HTML>   & lt; html>   & lt; head>   ajax, & lt; title>反推送& lt;/title>   ,& lt; style>   .send才能{颜色:# 555;text-align:,左;}   .require才能{text-align:颜色:蓝色;权利;}   .content_box才能{text-align:中心;保证金:20 px;   ,,,,边界:,1 px  solid  # ddd;填充:,20 px;}   ,& lt;/style>   ,& lt; script  src=癶ttp://code.jQuery.com/jquery-1.11.2.min.js"祝辞& lt;/script>   & lt;/head>   & lt; body>   ,& lt; div 类=癱ontent_box", id=癱ontent_box_title",在消息框& lt;/div>   ,& lt; div 类=癱ontent_box", id=癱ontent_box"比;   ,& lt;/div>   ,& lt; div 比;   & lt;才能select  id=皍sername",在   ,,& lt; option 价值=?“,选择=皊elected"在1 & lt;/option>   ,,& lt; option 价值=?“祝辞2 & lt;/option>   & lt;才能/select>   & lt;才能input 类型=皌ext",, value=啊? id=皊end_text"比;   & lt;才能button  id=癰tn_send",在发送& lt;/button>   & lt;才能button  id=癰tn_link",在连接& lt;/button>   ,& lt;/div>   ,& lt; div 类=癳rror_tip", id=癳rror_tip",在   ,& lt;/div>   ,& lt; script>   美元才能(函数(){   ,,//发送消息   ,,美元(& # 39;# btn_send& # 39;) .click(函数(){   ,,,var  send_text =,美元(& # 39;# send_text& # 39;) .val ();   ,,,如果(send_text.length  & lt;=, 0) {   ,,,,美元(& # 39;# error_tip& # 39;) . html(& # 39;不能输入空值& # 39;);   还有,,,}{   ,,,,发送(send_text);   ,,,}   ,,});   ,,//按回车键发送消息   ,,美元(& # 39;# send_text& # 39;)。(& # 39; keyup # 39;函数(e) {   ,,,如果(==e.keyCode  13) {   ,,,,美元(& # 39;# btn_send& # 39;) .trigger(& # 39;点击# 39;);   ,,,}   ,,});   ,,//建立通讯链接   ,,美元(& # 39;# btn_link& # 39;) .click(函数(){   ,,,连接();   ,,,var  _this =,美元(这);   ,,,_this.attr(& # 39;残疾人# 39;,true);   ,,,_this.html(& # 39;已连接& # 39;);   ,,});   ,,});//建才能立通讯连接函数   function 才能连接(){   ,,美元(& # 39;# content_box_title& # 39;) . html(美元)(& # 39;#用户名# 39;).val() + & # 39;的消息窗口& # 39;);   ,,. ajax({美元   ,,,数据:{& # 39;用户# 39;:美元(& # 39;#用户名# 39;).val ()},   ,,,url: & # 39; ajaxPush.PHP& # 39;   ,,,类型:& # 39;得到# 39;   ,,,超时:0,   ,,,数据类型:& # 39;json # 39;   ,,,成功:功能(数据){   ,,,,美元(& # 39;# content_box& # 39;) .append (& # 39; & lt; div 类=皉equire"祝辞& # 39;+ data.msg + & # 39; & lt;/div> & # 39;);   ,,,,连接();   ,,,}   ,,});   ,,}//发才能送消息函数   function 才能发送(不起作用){   ,,var  user =$(& # 39; #用户名# 39;).val ();   美元,才能.getJSON (& # 39; write.php& # 39;,{& # 39;味精# 39;:不起作用,& # 39;用户# 39;:用户},功能(数据){   ,,,如果(data.sf) {   ,,,,美元(& # 39;# content_box& # 39;) .append (& # 39; & lt; div 类=皊end"祝辞& # 39;+不起+ & # 39;& lt;/div> & # 39;);   ,,,,美元(& # 39;# send_text& # 39;) .val (& # 39; & # 39;);   还有,,,}{   ,,,,美元(& # 39;# error_tip& # 39;) . html(& # 39;输入保存错误! & # 39;);   ,,,}   ,,});   ,,}   ,& lt;/script>   & lt;/body>   & lt;/html>

ajax处理输入写。php

& lt; php ?/* *   ,* Created  by  TXM。   *大敌;时间:2017/4/18 第13章13节   ,*功能:   ,*/$ filename =,目录名(__FILE__) # 39;公司/data.txt& # 39;;   $ isread_file =,目录名(__FILE__) # 39;公司/isread.txt& # 39;;   $ user =,目录名(__FILE__) # 39;公司/. txt # 39;;//写入消息,消息未读,谁发送的消息   写入(文件名,美元$ _GET[& # 39;味精# 39;]);   写入isread_file美元,& # 39;0 & # 39;);   写入用户,美元$ _GET[& # 39;用户# 39;]);   echo  json_encode(数组(& # 39;科幻# 39;=祝辞真的));

长轮询推送ajaxPush。php

& lt; php ?/* *   ,* Created  by  TXM。   *大敌;时间:2017/4/18 十三12   ,*功能:   ,*/$ filename =,目录名(__FILE__) # 39;公司/data.txt& # 39;;   $ isread_file =,目录名(__FILE__) # 39;公司/isread.txt& # 39;;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在PHP中实现一个长轮询消息实时推送功能