广播事件的时候呢,应该把 toOthers() 加上,这样就只会通知到其他的人
这里有个比较重要的点,老师没有讲到,也可能是年头比较久远了,当时还不需要这样做。 我的框架版本是 8.6,Laravel 已经将 pusher 作为默认的消息推送。 这里需要注意的有 2 点:
1. laravel-websocket 包的兼容问题, Laravel 8 默认集成的 pusher 版本是5.0,但是 laravel-socket 的最新版本以然停留在 1.12,虽然开发团队依然在维护,不过都是测试版,至今还没有一个兼容 pusher 5.0 以上的版本,所以需要将 pusher 降级到 3.0,laravel-websocket 还依赖 guzzlehttp/psr7,不过版本只兼容到 1.5,所以我们也需要降级。 ``` "guzzlehttp/psr7": "^1.5", "beyondcode/laravel-websockets": "^1.12.0", "pusher/pusher-php-server": "~3.0" ``` 直接把这个粘贴到 composer.json 文件,然后执行
``` composer update ```
2. 需要配置一下 config/broadcasting.php 文件,将 websockets 通信转发到我们自己的服务器,否则默认请求的是 pusher 的接口
``` 'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER'), 'encrypted' => true, 'host' => '127.0.0.1', 'port' => 6001, 'scheme' => 'http' ], ], ```
非常好的补充,的确是时间有些久了,世界已经变了,我下来也去实验一下新版本
广播事件的时候呢,应该把 toOthers() 加上,这样就只会通知到其他的人
这里有个比较重要的点,老师没有讲到,也可能是年头比较久远了,当时还不需要这样做。 我的框架版本是 8.6,Laravel 已经将 pusher 作为默认的消息推送。 这里需要注意的有 2 点:
1. laravel-websocket 包的兼容问题, Laravel 8 默认集成的 pusher 版本是5.0,但是 laravel-socket 的最新版本以然停留在 1.12,虽然开发团队依然在维护,不过都是测试版,至今还没有一个兼容 pusher 5.0 以上的版本,所以需要将 pusher 降级到 3.0,laravel-websocket 还依赖 guzzlehttp/psr7,不过版本只兼容到 1.5,所以我们也需要降级。 ``` "guzzlehttp/psr7": "^1.5", "beyondcode/laravel-websockets": "^1.12.0", "pusher/pusher-php-server": "~3.0" ``` 直接把这个粘贴到 composer.json 文件,然后执行
``` composer update ```
2. 需要配置一下 config/broadcasting.php 文件,将 websockets 通信转发到我们自己的服务器,否则默认请求的是 pusher 的接口
``` 'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER'), 'encrypted' => true, 'host' => '127.0.0.1', 'port' => 6001, 'scheme' => 'http' ], ], ```
非常好的补充,的确是时间有些久了,世界已经变了,我下来也去实验一下新版本