php即时聊天数据库设计入门经典教程_Laravel Echo + Pusher = IM(即时通讯)

本文提供了一种使用Laravel Echo、Pusher和JQuery AJAX实现即时通讯的方法,通过WebSocket协议实现双向通信。教程涵盖事件创建、命令触发、Pusher配置、前端JavaScript接收广播以及Laravel的事件广播和队列处理。
摘要由CSDN通过智能技术生成

本文介绍了通过Laravel EchoPusher JQuery ajax等实现网站即时通信——通信双方无需手动刷新浏览器即可看到对方发送的信息。

在过去,实现这种通信最为常用的技术是长轮询,但限于 HTTP 协议的单向性,客户端需要一遍一遍地主动询问服务端的处理结果。所以这种方式存在明显缺陷,不仅占用服务端资源、还不能实时获得服务端处理结果。

现在,普遍采用 WebSocket 协议来处理实时交互,它是一种双向协议,允许服务端主动推送信息到客户端。

Laravel 看起来提供了两套方案实现即时通信,Laravel Echo + Pusher、Redis + http://Socket.io + Node.js。二者都需要借助Laravel的Events、Broadcasting、Queues,请确保你熟悉以上内容。

这里我们选用前者


  • 先创建一个事件——php artisan make:event TestEvent

创建的事件在app/Events,编辑代码如下:

use IlluminateContractsBroadcastingShouldBroadcast; 
class TestEvent implements ShouldBroadcast
{
    
    use Dispatchable, InteractsWithSockets, SerializesModels;   
    // 只有public的数据会被广播 
    public $msg;

    public function __construct($msg)
    {
    
        $this->msg =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值