103 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			103 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | |||
|  | 
 | |||
|  | use app\common\websocket\Handler; | |||
|  | use think\swoole\Table; | |||
|  | 
 | |||
|  | return [ | |||
|  |     'server'     => [ | |||
|  |         'host'      => env('SWOOLE_HOST', '0.0.0.0'), // 监听地址
 | |||
|  |         'port'      => env('SWOOLE_PORT', 20211), // 监听端口
 | |||
|  |         'mode'      => SWOOLE_PROCESS, // 运行模式 默认为SWOOLE_PROCESS
 | |||
|  |         'sock_type' => SWOOLE_SOCK_TCP, // sock type 默认为SWOOLE_SOCK_TCP
 | |||
|  |         'options'   => [ | |||
|  |             'pid_file'              => runtime_path() . 'swoole.pid', | |||
|  |             'log_file'              => runtime_path() . 'swoole.log', | |||
|  |             'daemonize'             => false, | |||
|  |             // Normally this value should be 1~4 times larger according to your cpu cores.
 | |||
|  |             'reactor_num'           => swoole_cpu_num(), | |||
|  |             'worker_num'            => swoole_cpu_num(), | |||
|  |             'task_worker_num'       => swoole_cpu_num(), | |||
|  |             'enable_static_handler' => true, | |||
|  |             'document_root'         => root_path('public'), | |||
|  |             'package_max_length'    => 20 * 1024 * 1024, | |||
|  |             'buffer_output_size'    => 10 * 1024 * 1024, | |||
|  |             'socket_buffer_size'    => 128 * 1024 * 1024, | |||
|  |             'heartbeat_idle_time'        => 600, // 一个连接如果600秒内未向服务器发送任何数据,此连接将被强制关闭
 | |||
|  |             'heartbeat_check_interval'   => 60, // 每60秒遍历一次
 | |||
|  |         ], | |||
|  |     ], | |||
|  |     'websocket'  => [ | |||
|  |         'enable'        => true, | |||
|  |         'handler'       => Handler::class, | |||
|  |         'ping_interval' => 25000, | |||
|  |         'ping_timeout'  => 60000, | |||
|  |         'room'          => [ | |||
|  |             'type'  => 'table', | |||
|  |             'table' => [ | |||
|  |                 'room_rows'   => 4096, | |||
|  |                 'room_size'   => 2048, | |||
|  |                 'client_rows' => 8192, | |||
|  |                 'client_size' => 2048, | |||
|  |             ], | |||
|  |             'redis' => [ | |||
|  |                 'host'          => '127.0.0.1', | |||
|  |                 'port'          => 6379, | |||
|  |                 'max_active'    => 3, | |||
|  |                 'max_wait_time' => 5, | |||
|  |             ], | |||
|  |         ], | |||
|  |         'listen'        => [ | |||
|  |         ], | |||
|  |         'subscribe'     => [ | |||
|  |         ], | |||
|  |     ], | |||
|  |     'rpc'        => [ | |||
|  |         'server' => [ | |||
|  |             'enable'   => false, | |||
|  |             'port'     => 9000, | |||
|  |             'services' => [ | |||
|  |             ], | |||
|  |         ], | |||
|  |         'client' => [ | |||
|  |         ], | |||
|  |     ], | |||
|  |     'hot_update' => [ | |||
|  |         'enable'  => env('APP_DEBUG', false), | |||
|  |         'name'    => ['*.php'], | |||
|  |         'include' => [app_path()], | |||
|  |         'exclude' => [], | |||
|  |     ], | |||
|  |     //连接池
 | |||
|  |     'pool'       => [ | |||
|  |         'db'    => [ | |||
|  |             'enable'        => true, | |||
|  |             'max_active'    => 3, | |||
|  |             'max_wait_time' => 5, | |||
|  |         ], | |||
|  |         'cache' => [ | |||
|  |             'enable'        => true, | |||
|  |             'max_active'    => 3, | |||
|  |             'max_wait_time' => 5, | |||
|  |         ], | |||
|  |         //自定义连接池
 | |||
|  |     ], | |||
|  |     //队列
 | |||
|  |     'queue'      => [ | |||
|  |         'enable'  => false, | |||
|  |         'workers' => [], | |||
|  |     ], | |||
|  |     'coroutine'  => [ | |||
|  |         'enable' => true, | |||
|  |         'flags'  => SWOOLE_HOOK_ALL, | |||
|  |     ], | |||
|  |     'tables'     => [], | |||
|  |     //每个worker里需要预加载以共用的实例
 | |||
|  |     'concretes'  => [], | |||
|  |     //重置器
 | |||
|  |     'resetters'  => [], | |||
|  |     //每次请求前需要清空的实例
 | |||
|  |     'instances'  => [], | |||
|  |     //每次请求前需要重新执行的服务
 | |||
|  |     'services'   => [], | |||
|  | ]; |