socketbus/socketbus-laravel

此包的最新版本(v1.0.1)没有可用的许可信息。

v1.0.1 2021-01-06 21:09 UTC

This package is auto-updated.

Last update: 2024-09-07 05:33:08 UTC


README

安装

composer require socketbus/socketbus-laravel

配置

在您的 config/broadcasting.php 中添加 SocketBus 驱动程序。

return [
    'connections' => [
        /** ... */
        'socketbus' => [
            'driver' => 'socketbus',
            'app_id' => env('SOCKET_BUS_APP_ID'),
            'secret' => env('SOCKET_BUS_SECRET'),
            'custom_encryption_key' => env('SOCKET_BUS_ENCRYPTION_KEY')
        ]
    ]
];

在您的 .env 文件中将 BROADCAST_DRIVER 更改为 socketbus

在您的 .env 中定义 SOCKET_BUS_APP_IDSOCKET_BUS_SECRET。如果启用了端到端加密设置,请添加带有随机唯一字符串的 SOCKET_BUS_ENCRYPTION_KEY。此密钥用于加密和解密有效载荷。

广播

定义您的事件

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class MyEventEvent implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    public function __construct()
    {

    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return \Illuminate\Broadcasting\Channel|array
     */
    public function broadcastOn()
    {
        return new PrivateChannel("my-event");
    }
}

实时发送事件

use App\Events\MyEventEvent;

// sends a realtime message to browser
broadcast(new MyEventEvent());