public function start($ip, $port) { if (!Host::$table) { # Host还没初始化, 需要初始化 Host::init(false); } # 初始化任务服务器 $server = new \Swoole\Server($ip, $port, SWOOLE_BASE, SWOOLE_SOCK_TCP); Server::$server = $server; $this->server = $server; $config = ['dispatch_mode' => 5, 'worker_num' => Server::$config['swoole']['task_worker_num'], 'max_request' => Server::$config['swoole']['task_max_request'], 'task_worker_num' => 0, 'package_max_length' => 1024 * 1024 * 50, 'task_tmpdir' => Server::$config['swoole']['task_tmpdir'], 'buffer_output_size' => Server::$config['swoole']['buffer_output_size'], 'open_eof_check' => true, 'open_eof_split' => true, 'package_eof' => \MyQEE\Server\RPC\Server::$EOF]; $server->set($config); $server->on('WorkerStart', [$this, 'onStart']); $server->on('Receive', [$this, 'onReceive']); $server->on('Start', function () use($ip, $port) { Server::$instance->info("task sever tcp://{$ip}:{$port} start success."); }); $server->start(); }