承接 luisozparr/centrifuge-broadcaster 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

luisozparr/centrifuge-broadcaster

Composer 安装命令:

composer require luisozparr/centrifuge-broadcaster

包简介

Centrifuge broadcaster for laravel >= 8.x

README 文档

README

Attention! Maybe some diff with IRL.

  1. This package forked from "LaraComponents" to fit new Centrifugo v2.
  2. Drop Redis support (v2 don't support it), see official migration guide.
  3. Update generateToken(user id, timestamp, info) method (v2 uses only jwt auth workflow).

Introduction

Centrifuge broadcaster for laravel >= 5.7 And Lumen >= 7.0 (Tested with Laravel 5.6, 7.0 and Lumen 7.0)

Requirements

  • PHP 7.1.3+ or newer (tested on 7.2.10)
  • Laravel 5.3+ or newer (tested on 5.7.8)
  • Lumen 7.0+ or newer (tested on 7.2.0)
  • Centrifugo Server 2 or newer (see here)

Installation

Require this package with composer:

composer require LuisOzParr/centrifuge-broadcaster

Open your config/app.php and add the following to the providers array:

'providers' => [
    // ...
    LaraComponents\Centrifuge\CentrifugeServiceProvider::class,

    // And uncomment BroadcastServiceProvider
    App\Providers\BroadcastServiceProvider::class,
],

Open your config/broadcasting.php and add the following to it:

'connections' => [
    'centrifuge' => [
        'driver'       => 'centrifuge',
        'url'          => env('CENTRIFUGE_URL', 'http://127.0.0.1:8000'),
        'token_ttl'    => env('CENTRIFUGE_TOKEN_TTL', 3600),
        'token_issuer' => env('APP_URL', 'default'),
        'secret'       => env('CENTRIFUGE_SECRET', null),
        'api_key'      => env('CENTRIFUGE_API_KEY', null),
        'ssl_key'      => env('CENTRIFUGE_SSL_KEY', null),
        'verify'       => env('CENTRIFUGE_VERIFY', false),
    ],
    // ...
],

You can also add a configuration to your .env file:

CENTRIFUGE_API_KEY=very-long-secret-api-key
CENTRIFUGE_SECRET=very-long-secret-key
CENTRIFUGE_URL=http://localhost:8000
CENTRIFUGE_SSL_KEY=/etc/ssl/some.pem
CENTRIFUGE_TOKEN_TTL=3600 # seconds
CENTRIFUGE_VERIFY=false

Do not forget to install the broadcast driver

BROADCAST_DRIVER=centrifuge

Basic Usage

To configure the Centrifugo server, read the official documentation

For broadcasting events, see the official documentation of laravel

A simple example of using the client:

<?php

namespace App\Http\Controllers;

use LaraComponents\Centrifuge\Centrifuge;

class ExampleController extends Controller
{
    public function home(Centrifuge $centrifuge)
    {
        // Send message into channel
        $centrifuge->publish('channel-name', [
            'key' => 'value'
        ]);

        // Generate api sign
        $apiSign = $centrifuge->generateApiSign('data');

        // ...
    }
}

Available methods

Name Description
publish(string $channel, array $data, string $client = null) Send message into channel.
broadcast(array $channels, array $data, string $client = null) Send message into multiple channel.
presence(string $channel) Get channel presence information (all clients currently subscribed on this channel).
history(string $channel) Get channel history information (list of last messages sent into channel).
unsubscribe(string $user_id, string $channel = null) Unsubscribe user from channel.
disconnect(string $user_id) Disconnect user by its ID.
channels() Get channels information (list of currently active channels).
stats() Get stats information about running server nodes.
generateToken(string $userId) Generate JWT token for client.
generateApiSign(string $data) Generate api sign.

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 232
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 9
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-06-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固