微信扫码登录

微信扫码登录

邮箱恶意注册过多,目前只支持微信模式
当前视频免费,登录后即可观看
正在播放:单人登录 - 搭建websocket服务器,为网站添加实时通信的能力
发布于: 2019.08.22
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
  1. 需要配置一下 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

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

标 题