laravel-echo 使用

参考

Dennis 写的 Laravel Echo Server — How To
Laravel 中文文档

环境

  • PHP7.4 + phpredis

安装

npm install -g laravel-echo-server
npm install --save socket.io-client
npm install --save laravel-echo

使用

laravel-echo-server init
laravel-echo-server start
php artisan queue:listen

JS部分

window.io = require('socket.io-client');
window.Echo = new Echo({
    broadcaster: 'socket.io',
    host: 'http://xxxxx.local:6001',
});
window.Echo.channel('laravel_database_admin-notification').listen('.server.notification', (e) => {
    console.log(Object.values(e));
});

php 部分

class BroadcastNotificationEvent implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;
...
    public function broadcastOn()
    {
        return new Channel('admin-notification');
    }

    public function broadcastWith()
    {
        return [];
    }

    public function broadcastAs()
    {
        return 'server.notification';
    }
...
}

使用 Laravel 6.x 版本会自动给通道加上前缀, 具体可以查看日志
laravel-echo-server 日志

[9:05:53 AM] - -vhudVCCOGkhCkGmAAAK joined channel: laravel_database_admin-notification
[9:06:00 AM] - 1sP13WQjeWD7veypAAAL joined channel: laravel_database_admin-notification
Channel: laravel_database_admin-notification
Event: server.notification
Channel: laravel_database_admin-notification
Event: server.notification
Channel: laravel_database_admin-notification
Event: server.notification
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值