Laravel 公共频道广播

测试环境

  • Laravel 6.0.4 并部署好,包括 Redis 和 PhpRedis
  • macOS

后端

配置修改

启用 config/app.conf 中的广播服务提供者

使用 Redis 驱动和队列同步模式

vim .env

Redis prefix 去掉

vim config/databases.php

'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), 改为 'prefix' => '',,或注释。

WebSocket Server

安装

初始化,生成配置

根据提示,输入且回车。

? Do you want to run this server in development mode? (y/N) # Y,教程是在本地开发环境,
? Which port would you like to serve from? (6001) # 回车,WebSocket Server 服务端口
? Which database would you like to use to store presence channel members? (Use arrow keys) # redis
? Enter the host of your Laravel authentication server. (http://localhost) # http://127.0.0.1:8000 ,php artisan serve 的地址
? Will you be serving on http or https? (Use arrow keys) # 上面就是 http
? Do you want to generate a client ID/Key for HTTP API? (y/N) # y
? Do you want to setup cross domain access to the API? (y/N) # y
? What do you want this config to be saved as? (laravel-echo-server.json) # 回车

它会保存到 ./laravel-echo-server.json,你或许想打开看看(English 翻译 233)

事件

新建事件

php artisan make:event TestBroadcastingEvent

文件内容如下

随便取了个频道名(公共频道),返回数据是 ['data' => 你的信息]

开启 WebSocket 服务

前端

安装

设置和接收

vim ./resources/js/bootstrap.js

前端编译和 Web Server

验收

在路由或者 console.php 等等随便你喜欢的地方运行以下命令,以触发广播

谷歌开发者工具 console 即可看到信息。

参见

按顺序,部分可能忘记列出了

发表评论

电子邮件地址不会被公开。 必填项已用*标注