swoole_websocket.php 文件详解

描述
handler 用于onOpen和onClose回调函数的Websocket处理程序
parser 默认的WebSocket框架解析器
route_file Websocket路由文件路径
default 默认的WebSocket会议室驱动程序
middleware 连接请求的默认中间件
ping_interval Websocket客户端的心跳间隔(毫秒)
ping_timeout Websocket客户端的心跳间隔超时(毫秒)
drivers 房间驱动程序映射
settings 房间驱动程序设置

示例:

<?php

return [
    /*
    |--------------------------------------------------------------------------
    | 用于onOpen和onClose回调的Websocket处理程序如果要自定义Websocket处理程序,请替换此处理程序
    |--------------------------------------------------------------------------
    */
    'handler' => SwooleTW\Http\Websocket\SocketIO\WebsocketHandler::class,

    /*
    |--------------------------------------------------------------------------
    | Default frame parser
    | 如果要自定义websocket负载,请替换它
    |--------------------------------------------------------------------------
    */
    'parser' => SwooleTW\Http\Websocket\SocketIO\SocketIOParser::class,

    /*
    |--------------------------------------------------------------------------
    | Websocket路由文件路径
    |--------------------------------------------------------------------------
    */
    'route_file' => base_path('routes/websocket.php'),

    /*
    |--------------------------------------------------------------------------
    | 按连接请求的默认中间件
    |--------------------------------------------------------------------------
    */
    'middleware' => [
        // SwooleTW\Http\Websocket\Middleware\DecryptCookies::class,
        // SwooleTW\Http\Websocket\Middleware\StartSession::class,
        // SwooleTW\Http\Websocket\Middleware\Authenticate::class,
    ],

    /*
    |--------------------------------------------------------------------------
    | 默认websocket驱动程序
    |--------------------------------------------------------------------------
    */
    'default' => 'table',

    /*
    |--------------------------------------------------------------------------
    | Websocket客户端的心跳间隔(毫秒)
    |--------------------------------------------------------------------------
    */
    'ping_interval' => 25000,

    /*
    |--------------------------------------------------------------------------
    | Websocket客户端的心跳间隔超时(毫秒)
    |--------------------------------------------------------------------------
    */
    'ping_timeout' => 60000,

    /*
    |--------------------------------------------------------------------------
    | 房间驱动器映射
    |--------------------------------------------------------------------------
    */
    'drivers' => [
        'table' => SwooleTW\Http\Websocket\Rooms\TableRoom::class,
        'redis' => SwooleTW\Http\Websocket\Rooms\RedisRoom::class,
    ],

    /*
    |--------------------------------------------------------------------------
    | Room drivers settings
    |--------------------------------------------------------------------------
    */
    'settings' => [

        'table' => [
            'room_rows' => 4096,
            'room_size' => 2048,
            'client_rows' => 8192,
            'client_size' => 2048
        ],

        'redis' => [
            'server' => [
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port' => env('REDIS_PORT', 6379),
                'database' => 0,
                'persistent' => true,
            ],
            'options' => [
                //
            ],
            'prefix' => 'swoole:',
        ]
    ],
];