查看: 63|回覆: 0

PHP实现消息推送

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-11-14
發表於 2019-6-21 18:32:00 | 顯示全部樓層 |閲讀模式

我们做web的时候偶尔会遇到消息推送,如图示例(红框位置)

 

当我们遇到这种功能要如何开发呢?下边将我了解的两种方法整理一下:

一、ajax轮询,定时去请求服务器数据

通过观察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>

二.websocket实时消息推送

这里还没测试,测试完即将完善



来源:https://www.cnblogs.com/qichao123/p/11066229.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部