Larave广播-Pusher驱动

1、配置 .env


PUSHER_APP_ID=11111111

PUSHER_APP_KEY=bb26hfsghsdgdfgdfg

PUSHER_APP_SECRET=c080dfgfdghsdgsdf

PUSHER_APP_CLUSTER=mt1

 

APP_ID、APP_KEY、APP_SECRET从网站获取

2、服务端-发送广播内容

安装pusher服务端扩展

 1 composer require pusher/pusher-php-server 

创建事件

复制代码
php artisan make:event MyEvent

<?php
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class MyEvent implements ShouldBroadcast{  
    use Dispatchable, InteractsWithSockets, SerializesModels;  
    public $message;  
    public function __construct($messsage)  {      
        $this->message = $message;  
    }  
    public function broadcastOn()  {      
        return ['my-channel'];  
    }
}
复制代码

 

服务端发送广播

1 $pusher = new Pusher\\Pusher('APP_KEY', 'APP_SECRET', 'APP_ID', array('cluster' => 'APP_CLUSTER'));
2 $data = ['message' => 'Hello World.', 'time' => time()];
3 $response = $pusher->trigger('my-channel', 'my-event, $data);

 

3、客户端

类库安装及使用

1 安装:npm install pusher-js
2 import Pusher from 'pusher-js/react-native' // 扩展引入
3 let pusher = new Pusher('APP_KEY', {cluster: 'mt1'}); // 创建pusher实例
4 let channel = pusher.subscribe('my-channel'); // 渠道订阅
5 channel.bind('my-event', function(data) { // 渠道事件监听
6     console.log(data)
7 });

 

script引入及使用

复制代码
<!DOCTYPE html>
<head>
  <title>Pusher Test</title>
  <script src="https://js.pusher.com/4.0/pusher.min.js"></script>
  <script>
 
    // Enable pusher logging - don't include this in production
    Pusher.logToConsole = true;
 
    var pusher = new Pusher('bbf6g58hfghd65f', {
      cluster: 'mt1'
    });
 
    var channel = pusher.subscribe('my-channel');
    channel.bind('my-event', function(data) {
      console.log(data)
      // alert(data.info)
    });
  </script>
</head>
复制代码

 

posted @   phper521  阅读(78)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示