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:',
]
],
];