微信扫码登录

微信扫码登录

邮箱恶意注册过多,目前只支持微信模式
付费课程, 订阅后即可观看
正在播放:单人登录 - 搭建websocket服务器,为网站添加实时通信的能力
Codinget 2019.08.23 09:13

广播事件的时候呢,应该把 toOthers() 加上,这样就只会通知到其他的人

MArtian 2021.12.13 21:48

这里有个比较重要的点,老师没有讲到,也可能是年头比较久远了,当时还不需要这样做。 我的框架版本是 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' ], ], ```

Codinget 2021.12.14 09:17

非常好的补充,的确是时间有些久了,世界已经变了,我下来也去实验一下新版本

标 题