美文网首页
Laravel5.4, 广播时间,pusher 的配置以及使用

Laravel5.4, 广播时间,pusher 的配置以及使用

作者: nightfallLemon | 来源:发表于2019-01-16 10:12 被阅读0次

最近要写一个聊天室,于是了解了一下laravel的事件广播,参考资料来源于http://laravelacademy.org/post/5351.html, 但是在跟随博主动手的时候, 发现事件成功触发, 但是pusher调试控制台上并没有收到事件。经过调试找到问题所在。

首先我们先创建一个事件:

php artisan make:event TestEvent

最终, 事件的代码如下, 这里有一个注意点就是

如果该事件没有继承use Illuminate\Contracts\Broadcasting\ShouldBroadcast; 接口,那么触发事件,将不会发送事件至pusher 服务器上.

use ...
// 如果该事件没有继承use Illuminate\Contracts\Broadcasting\ShouldBroadcast; 接口,那么触发事件,将不会发送事件至pusher 服务器上.
class TestEvent implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;
    // 类型需为public 
    public $msg;

    public function __construct($msg)
    {
        $this->msg = $msg;
    }

    public function broadcastOn()
    {
        return [
            'test'
        ];
    }
}

为了测试方便,我们创建一个artisan 命令来触发事件.

php artisan make:command TestEventCommand

打开命令类 app/Console/Commands/TestEventCommand.php 编辑后如下

    class TestEventCommand extends Command
{

    protected $signature = 'pusher:test {message}';
    protected $description = 'pusher test';


    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        event(new \App\Events\TestEvent($this->argument('message')));
    }
}

打开 app/Console/Kernel.php, 将刚创建的命令类添加至 $commands

    protected $commands = [
        Commands\TestEventCommand::class,
    ];

事件代码基本完成, 接下来导入pusher

composer require pusher/pusher-php-server

当pusher 成功导入之后 需要在env中配置, BROADCAST_DRIVER 需配置为pusher。 config/broadcasting.php 文件 BROADCAST_DRIVER 默认为null
- PUSHER_APP_ID=you_app_id
- PUSHER_APP_KEY=you_app_key
- PUSHER_APP_SECRET=you_app_secret
- BROADCAST_DRIVER = pusher
另外在这里测试发现如果 QUEUE_DRIVER 配置是redis 那么当触发事件的时候不会调用Illuminate\Broadcasting\BroadcastManager 下的createPusherDriver方法.也就是不生成pusher类发送事件. QUEUE_DRIVER应配置为sync


配置完成之后 我们就可以通过artisan 命令向pusher服务器发送事件,

php artisan pusher:test "hello"

那么,将会在pusher debug-console 上看到


file

相关文章

  • Laravel5.4, 广播时间,pusher 的配置以及使用

    最近要写一个聊天室,于是了解了一下laravel的事件广播,参考资料来源于http://laravelacadem...

  • laravel5.4 之pusher应用广播事件

    https://www.jianshu.com/p/be4cc07edafb 这里有教程我就懒得自己写了

  • Laravel  广播系统后端配置

    1、所需安装 (1) composer require pusher/pusher-php-server (2) ...

  • laravel笔记 (1)

    composer 更改为中国镜像 查看全局配置 创建laravel5.4项目 启动 laravel 网站 开发模式...

  • Pusher

    测试消息的推送,可以使用Pusher这个工具。 内容界面 参考资料云信IOS推送收不到问题排查方案

  • git配置以及使用

    1.git下载:官网(http://git-scm.com); 安装,一路默认就好; 2.查看版本:git -ve...

  • matplotlib参数设置

    本文介绍matplotlib使用的各种文件的位置,以及使用这些配置文件的意义。同时还将介绍配置文件中具体配置项。 ...

  • 融云坑 flutter

    最近调试接入融云推送,在后台配置好证书,前端加上代码,调试的时候发现用工具pusher能够收到推送,融云自己的死活...

  • 如何使用npm以及nrm管理源

    无论是使用vue以及react,我们都需要配置开发环境以及使用命令行工具,下面来介绍下如何使用npm以及使用nrm...

  • PUSHER 增添多样的装饰选择 有荣-意大利之家

    PUSHER 增添多样的装饰选择,他们善于从时尚特色中汲取灵感,将闪亮的灯光与绚丽的颜色,以及具有创意的元素融入其...

网友评论

      本文标题:Laravel5.4, 广播时间,pusher 的配置以及使用

      本文链接:https://www.haomeiwen.com/subject/ucvpdqtx.html