首页 > 后端开发 > 正文

php消息推送前前台与后台框架 php 怎么使用websocket推送消息

2023-10-06 18:50:52 | 我爱编程网

今天我爱编程网小编为大家带来了php消息推送前前台与后台框架 php 怎么使用websocket推送消息,希望能帮助到大家,一起来看看吧!

php消息推送前前台与后台框架 php 怎么使用websocket推送消息

php如何实现消息推送



当我们遇到消息推送功能要如何开发呢?

一、ajax轮询,定时去请求服务器数据 (推荐学习:PHP视频教程)
通过观察thinkphp官网貌似也是用的这个方法,下边将这种方法整理一下:
Notify.php
//获取通知消息
public function getNotifyCount()
{
$msg = db('message_logs')->where('isscan',0)->count();
RestfulTools::restData($msg); //这里是封装好的json_encode方法
}notify.js
<span class="am-icon-envelope-o"></span> 消息 <span class="am-badge am-badge-warning" id="msgCount">
{$msgCount} //这是是通过tp的 assign方法分配过来的变量,作为初始值
</span>
<script type="text/javascript">
var getting = {
url:"{:url('Notify/getNotifyCount')}",
dataType:'json',
success:function(res) {
console.log(res);
var msgCount = res.result;
$("#msgCount").html(msgCount); //用js的 html方法去改变id为msgCount的值
}
};
//Ajax定时访问服务端,这里是3分钟请求一次。
window.setInterval(function(){
$.ajax(getting)
},180000);
</script>

php消息推送前前台与后台框架 php 怎么使用websocket推送消息

php 怎么使用websocket推送消息

我使用的工具是基于wokman的web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送。 通过后台推送消息,消息可以即时推送到客户端,非轮询,实时性非常好,性能很高。

下载和demo地址 -sender

这里面区分服务端和客户端,去上面地址下载源代码,放到你服务端。使用相关命令开启服务。

其中有一个文件是start_io.php,这个文件算是核心,里面有怎么发送socket消息的代码,也会有监控用户上下线的接口,在这个地方可以根据业务需要拓展自己的代码需求。类似: 用户在socket检测用户上下线的是时候,可以http请求到自己的api层

下面我贴一下我的代码

当然了 可能会有童鞋问了,socket如果监听到自己的api发送消息呢。这个时候我们可以看到start_io.php这个文件这个地方

这个地方明确表明了监听端口,websocket跟api在同一个服务器上面,所以用了0.0.0.0,所以你在http服务端如果想发消息给客户端,只需要发送到这个端口上面,socket自动会监听到发送给客户端。 我爱编程网

php消息推送前前台与后台框架 php 怎么使用websocket推送消息

怎么用thinkphp搭建前端后台框架

以前用PHP做过一个很蹩脚的网站,为什么这么说呢,因为写的全是死代码。做完以后觉得实在是累,前端要div+css,js 后端要php,MySQL,这么多东西要弄,十分头疼。所以,在接到做网站的任务后,我第一时间想到一定要使用开发框架去做,绝不能跟以前一样那么累了。
我选择的是PHP的ThinkPHP框架。说实话,真的蛮不错的。瞬间觉得Web开发还是蛮有效率的。
超级链接:ThinkPHP中文网
按照套路,首先贴一下实验环境:
1. WAMP(集成的那种,最Easy的几乎不需要配置)
2. ZendStudio7.2(中文网址 ,里面提供下载,在线注册机以及使用教程)
3. ThinkPHP框架+百度UEditor编辑器插件
4. Win7-64bit操作系统
5. 浏览器(火狐,IE,Chrome),外加火狐FireBug插件用于调试以及偷样式

以上就是我爱编程网整理的php消息推送前前台与后台框架 php 怎么使用websocket推送消息相关内容,想要了解更多信息,敬请查阅我爱编程网。
与“php消息推送前前台与后台框架 php 怎么使用websocket推送消息”相关推荐
探月编程怎么用代码缩小图片?
探月编程怎么用代码缩小图片?

探月编程怎么用代码缩小图片?在Python中,你可以使用Pillow库来缩小图片。以下是一个简单的例子:python复制代码fromPILimportImagedefresize_image(input_image_path,output_image_path,size):original_image=Image.open(input_image_path)width,

2023-12-12 08:10:46
如何使用Python计算两个数字的乘积或平方?
如何使用Python计算两个数字的乘积或平方?

怎样用python编出乘法算式?print('\n'.join([''.join(['%sx%s=%-2s'%(y,x,x*y)foryinrange(1,x+1)])forxinrange(1,10)]))Python写出输入二个数,求这二个数的加、减、乘、除、取余、取整、幂的值并输?当你想要让用户输入两个数字,并计算它们的加法、减法、乘法、除法、取余、取整、幂运算的结果,可以

2023-12-12 13:00:59
python xlwt excel 单元格边框,如何才能有如下的加黑边框
python xlwt excel 单元格边框,如何才能有如下的加黑边框

pythonxlwtexcel单元格边框,如何才能有如下的加黑边框borders = xlwt.Borders()borders.left = 1borders.right = 1borders.top = 1borders.bottom = 1borders.bottom_colour=0x3A    style = xlwt.XFStyle()style.borders = border

2023-12-12 18:09:59
节拍怎么控制
节拍怎么控制

节拍怎么控制节奏不准,要练习打拍子,先从跟着秒针打拍子开始。多听歌,边听边打拍子。这样看一首歌的小节数和节奏。拍号:2/4、3/4、4/42/4:二拍(XX),四二拍(每小节两拍,以四分音符为一拍)。3/4:三拍(XX)X,四三拍(每小节三拍,以四分音符为一拍)。4/4:四拍(XXXX),四四拍(每小节四拍,以四分音符为一拍)。节拍:律动中有规律的强弱模式,

2023-12-14 07:36:51
python3.5.3怎么运行程序
python3.5.3怎么运行程序

python3.5.3怎么运行程序方法如下:1、命令行运行:打开命令行终端。进入到包含用户的Python程序的目录。使用以下命令运行程序:python3.5program.py,program.py是用户的Python程序文件名。2、使用集成开发环境(IDE):安装一个Python集成开发环境,比如PyCharm、VisualStudioCode等。打开IDE并创建一个新的项目或

2023-12-12 12:23:39
python3怎么创建列表?
python3怎么创建列表?

python3怎么创建列表?Python3是一种流行的编程语言,您在一行开头看到的表示此行是您可以在Python3解释器中输入的命令。&gt;&gt;&gt;您提供的代码在以开头的行上没有完整的语句,因此无法确定此代码的结果是什么。但是,如果代码是完整的,它可能会创建一个新的列表对象,并为其分配一些值。&gt;&gt;&gt;list2=list2下面是如何使用Python3解

2023-12-12 20:04:52
Python怎么输入和输出?Python的输入和输出方法
Python怎么输入和输出?Python的输入和输出方法

Python怎么输入和输出?Python的输入和输出方法Python是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大,它也是互联网最热门的编程语言之一。不管是传统的Web开发、PC软件开发、Linux运维,还是大数据分析、机器学习、人工智能,Python都能胜任。对于准备自学或者想要提升Python的小伙伴来说,可能找到一套合适的课程学习往往能够事半功倍!为大家提供到了四套潮享教

2023-12-13 15:05:46
python文本怎么输入输出?python文本输入输出方法
python文本怎么输入输出?python文本输入输出方法

用Python从键盘输入一个有中文和英文的字符串,编程分别输出中文和英文,并统?fromstringimportascii_lettersx=input("输入字符串:")hz=[]zm=[]forxxinx:ifxxin([chr(j)forjinrange(19968,40867)]):hz.append(xx)print(f"汉字:{xx}")eli

2023-12-12 11:48:42