首页 / PHP / php 消息推送(含源码)
php 消息推送(含源码)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php 消息推送(含源码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3558字,纯文字阅读大概需要6分钟。
内容图文
![php 消息推送(含源码)](/upload/InfoBanner/zyjiaocheng/1086/f3b5f15ec76f418f99d0681877ce4da2.jpg)
概述
今天刚好周六,昨天有人在群里问如何实习php的即时通讯。我也搜了搜资料,打算自己实现一遍php消息推送中的-ajax长轮询的。我觉得对php即时通讯的介绍写得比较好的是:
http://www.cnblogs.com/hnrainll/archive/2013/05/07/3064874.html
可以参考一下,其他我就不多说了,参考链接,优于用于演示,就没有操作数据库中的东西了。
我的代码
入口代码 index.html
<!DOCTYPE HTML>
<html>
<head>
<title>反ajax推送</title><style>.send{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><scriptsrc="http://code.jquery.com/jquery-1.11.2.min.js"></script></head><body><divclass="content_box"id="content_box_title"style="border: none;">消息框</div><divclass="content_box"id="content_box"></div><divstyle="width: 450px;margin: 0 auto;"><selectid="username"style="font-size: 20px;"><optionvalue="1"selected="selected">1</option><optionvalue="2">2</option></select><inputtype="text"style="font-size: 20px;"value=""id="send_text"><buttonid="btn_send"style="font-size: 20px;">发送</button><buttonid="btn_link"style="font-size: 20px">连接</button></div><divclass="error_tip"id="error_tip"style="color: red;"></div><script>
$(function(){//发送消息
$(‘#btn_send‘).click(function(){var send_text = $(‘#send_text‘).val();
if(send_text.length <= 0){
$(‘#error_tip‘).html(‘不能输入空值‘);
}else{
send(send_text);
}
});
//按回车键发送消息
$(‘#send_text‘).on(‘keyup‘,function(e){if(e.keyCode == 13){
$(‘#btn_send‘).trigger(‘click‘);
}
});
//建立通讯链接
$(‘#btn_link‘).click(function(){
connect();
var _this = $(this);
_this.attr(‘disabled‘,true);
_this.html(‘已连接‘);
});
});
//建立通讯连接函数functionconnect(){
$(‘#content_box_title‘).html($(‘#username‘).val()+‘的消息窗口‘);
$.ajax({
data:{‘user‘:$(‘#username‘).val()},
url:‘ajaxPush.php‘,
type:‘get‘,
timeout:0,
dataType:‘json‘,
success:function(data){
$(‘#content_box‘).append(‘<div >‘+data.msg+‘</div>‘);
connect();
}
});
}
//发送消息函数functionsend(massege){var user =$(‘#username‘).val();
$.getJSON(‘write.php‘,{‘msg‘:massege,‘user‘:user},function(data){if(data.sf){
$(‘#content_box‘).append(‘<div >‘+massege+‘</div>‘);
$(‘#send_text‘).val(‘‘);
}else{
$(‘#error_tip‘).html(‘输入保存错误!‘);
}
});
}
</script></body></html>
ajax处理输入 write.php
<?php
/**
* Created by TXM.
* Time: 2015/4/18 13:13
* function:
*/
$filename = dirname(__FILE__).‘/data.txt‘;
$isread_file = dirname(__FILE__).‘/isread.txt‘;
$user = dirname(__FILE__).‘/user.txt‘;
//写入消息,消息未读,谁发送的消息
file_put_contents($filename,$_GET[‘msg‘]);
file_put_contents($isread_file,‘0‘);
file_put_contents($user,$_GET[‘user‘]);
echo json_encode(array(‘sf‘=>true));
长轮询推送 ajaxPush.php
<?php
/**
* Created by TXM.
* Time: 2015/4/18 13:12
* function:
*/
$filename = dirname(__FILE__).‘/data.txt‘;
$isread_file = dirname(__FILE__).‘/isread.txt‘;
$userfile = dirname(__FILE__).‘/user.txt‘;
$get_user = $_GET[‘user‘] == ‘1‘?‘2‘:‘1‘;
$msg=‘‘;
while(1){
$msg = file_get_contents($filename);
$isread = file_get_contents($isread_file);
$user = file_get_contents($userfile);
//是对方发送的消息,设置消息已读,退出循环。if($isread == ‘0‘ && $get_user == $user){
file_put_contents($isread_file,‘1‘);
break;
}
sleep(1);
}
echo json_encode(array(‘msg‘=>$msg));
效果
源码下载地址
原文:http://blog.csdn.net/pursuing0my0dream/article/details/45113463
内容总结
以上是互联网集市为您收集整理的php 消息推送(含源码)全部内容,希望文章能够帮你解决php 消息推送(含源码)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。