位置: 编程技术 - 正文

Laravel学习教程之广播模块详解(laravel视频教程)

编辑:rootadmin

推荐整理分享Laravel学习教程之广播模块详解(laravel视频教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:laravel 入门,laravel入门与实战,laravel 入门教程,laravel快速入门,laravel learnku,laravel 入门教程,laravel视频教程,laravel 入门教程,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

本文主要给大家介绍了关于Laravel广播模块的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

注意:本文是基于Laravel 5.4版本的路由模块代码进行分析书写;

简介

广播是指发送方发送一条消息,订阅频道的各个接收方都能及时收到消息;比如 A同学写了一篇文章,这时候 B同学在文章底下评论了,A同学在页面上是不用刷新就能收到提示有文章被评论了,这个本质上就是A同学收到了广播消息,这个广播消息是由B同学评论这个动作触发了发送广播消息;

在整个广播行为中,有一个重要的概念叫频道channel,频道的类型有

公共频道public 私有频道private 存在频道presence

移动端订阅了公共频道public,会直接提示成功;私有频道private和存在频道presence在进行订阅的过程中,会向服务器端发送权限验证,看是不是有权限可以订阅该频道;私有频道private和存在频道presence的区别在于,私有频道private能够接收其他成员发送的消息,而存在频道presence除此之外,还能够在用户的加入与离开时接收信息;

广播适合以下场景:

通知(Notification) 或 信号(Signal) 通知是最简单的示例,也最经常用到。信号也可看作是通知的一种展现形式,只不过信号没有UI而已。 Activity Streams Activity Streams(feeds)是社交网络的核心。如微信朋友圈的点赞和评论,A可以实时看到B的点赞,B可以实时看到A的评论。 聊天 聊天信息的实时显示

模块组成

Demo

日志驱动

配置

.env文件修改或添加一行:BROADCAST_DRIVER=log;

广播

直接调用

因为是日志驱动,所以广播内容会写到框架配置的日志文件中,输出消息如下所示

监听事件广播

这种调用方式,是当实现ShouldBroadcast接口的事件被触发时,则会进行广播操作;(同时,还有一个接口叫ShouldBroadcastNow,与ShouldBroadcast接口的不同在于,将实现ShouldBroadcastNow接口的事件放入队列中时,会被放入叫sync的队列中)

举个例子,

第一步,IlluminateAuthEventsLogin事件是用户登录成功后会触发的事件,略作改动,让其实现广播功能;

第二步,注册事件监听;在app/Providers/EventServiceProvider.php中修改:

文件app/Listeners/UserLogin.php粗糙地实现了一下:

第三步,触发事件,发送广播;有好几种触发广播方式:

直接事件触发

Laravel学习教程之广播模块详解(laravel视频教程)

帮助函数broadcast,间接触发事件

广播管理类,间接触发事件,直接广播

广播管理类,间接触发事件,放入队列

Pusher驱动

Pusher是一个第三方服务,服务器发送广播时,会向Pusher发送请求,再通过Pusher与浏览器或移动端保持的长连接进行数据交互;

配置

通过Pusher官网注册用户信息,获取属于自已的一套密钥信息,修改.env的配置文件;

准备工作

事件监听

后台的事件监听还是采用"日志驱动"部分的登录例子;

前端

前端页面引入以下代码:

如果订阅的是公共频道,则不会向服务器端请求权限检查;如果是私有频道(频道名是以private-开头)或存在频道(频道名是以presence-开头),则会发出权限检查请求;对应的后端需要定义私有频道和存在频道的权限;

频道权限定义

频道的权限定义是在routes/channels.php里;此处笔者为first-channel频道定义权限回调函数:

有读者会疑问,前端页面订阅的频道不是private-first-channel吗?怎么后端只定义first-channel频道的权限呢?那是因为,后端定义的频道假设是A,那么在Pusher及浏览器端或移动端传递的私有频道名为private-A,存在频道则会是presence-A;

广播

直接广播

间接广播

参考“日志驱动”提及的间接广播方式;

如果要发送排我广播(也就是除了当前请求的这个客户端不收到广播消息),则需要以下条件:

事件使用IlluminateBroadcastingInteractsWithSockets trait; 前端发送过来的请求头部要携带X-Socket-ID信息; 事件触发执行broadcast(new IlluminateAuthEventsLogin($user, true))->toOthers();

Redis驱动

配置

.env文件修改或添加一行:BROADCAST_DRIVER=redis;

广播

原理是同样在后端部署一个Socket.IO服务器,Laravel框架会发布消息到Socket.IO服务器上,由Socket.IO服务器同浏览器端或者移动端保持长连接;

这部分笔者尚未demo,网上入门资料还是挺多的,知道原理,这部分动作上手就容易多了;

总结

标签: laravel视频教程

本文链接地址:https://www.jiuchutong.com/biancheng/289932.html 转载请保留说明!

上一篇:thinkPHP3.0框架实现模板保存到数据库的方法(thinkphp框架入门)

下一篇:laravel5.4生成验证码的代码

  • 增值税专用发票怎么开
  • 财产和行为税合并申报
  • 增值税的附加税有几个
  • 外地预缴税款预缴多了怎么办
  • 小规模纳税人收到专票后如何处理
  • 残疾人加计扣除政策文件
  • 员工向用人单位签加班协议书范本
  • 受托代销商品和受托代销商品款怎么列示
  • 公司代个人收承兑汇票
  • 委托加工物资增值税怎么算
  • 增值税建筑业税率几次调整
  • 房产税从租计征的税率是12%还是4%
  • 商标转让所需要的材料
  • 冲减应收帐款分录
  • 外商企业所得税可享受什么优惠政策
  • 工资五险一金和税怎么处理
  • 药店税票税点
  • 外籍人员劳务费税率表
  • 电子税务局进项票汇总
  • 现金采购合理吗
  • 托收承付结算方式
  • 分期收款所得税收入确认多少
  • 收到存款利息收入
  • 什么是短期借款利率
  • 文件的类型可以通过什么来区分
  • bios咋进入
  • 设备拆装费计入什么科目
  • 简单介绍下商务洽谈的五个步骤
  • 安全生产责任险保障范围
  • 无偿提供房屋使用 维修
  • ISBMgr.exe - ISBMgr是什么进程 有什么作用
  • 地下停车位是否符合国家安全标准咨询那个部门
  • 埃姆雷莫尔
  • form表单提交数组
  • js读取本地excel
  • Python 计算机视觉(八)—— OpenCV 进行图像增强
  • 微信小程序开发零基础入门
  • 公司新增注册资本是认缴的吗
  • 仓库折旧会计分录
  • 支付宝支付高速公路发票怎么打印
  • 银行询证函快递费计入什么科目
  • 无偿提供建筑服务账务处理
  • 编制利润表计算公式
  • 税控盘 金税盘
  • 企业基金分红具备的条件
  • 保险合同包含什么
  • 其他应收款和应收账款一样吗
  • 去年的管理费用多做了今年怎样调账
  • 以前年度漏扣个税怎么处理
  • 固定资产出售账面价值计入什么科目
  • 转让股权需要缴纳哪些税
  • 设备升级是什么意思
  • 零售商品收入
  • 专项应付款余额转入资本公积的规定
  • 处置固定资产和报废固定资产区别
  • 预计所有者权益增长率
  • 普通发票找不到了可以重开吗
  • 车属于固定资产嘛
  • sql server启动不了 错误2
  • mysql从一张表复制数据到另一张表
  • 微软补丁修复时出现蓝屏现象
  • win10系统计算器字体大小怎么调
  • win8打开cmd的快捷键
  • Linux的bg和fg命令简单介绍
  • 如何配置sendmail
  • win8程序和功能在哪
  • win10正式版多少钱
  • 12个超实用的JQuery代码片段
  • 一周总结家长寄语
  • ftp下载工具能自动登录ftp服务器
  • 浅谈会计诚信与职业道德论文
  • pythonjam怎么用
  • android获取本机ip地址
  • python语言基本语法
  • 用jquerymobile案例
  • Python调用大漠插件
  • 税务备案超过15天
  • 税控盘离线开票时间怎么查
  • 什么是减税政策
  • 2020年青海国税工资待遇
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设