介绍
今天就跟大家聊聊有关怎么在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中实现一个长轮询消息实时推送功能