startGateWay(); $this->startBusinessWorker(); $this->startRegister(); Worker::runAll(); } private function startBusinessWorker() { $worker = new BusinessWorker(); $worker->name = $this->serviceName . 'BusinessWorker'; $worker->count = 4; $worker->registerAddress = '127.0.0.1:1236'; $worker->eventHandler = config("workerman.{$this->serviceName}.eventHandler"); } private function startGateWay() { $context = array( // 更多ssl选项请参考手册 http://php.net/manual/zh/context.ssl.php 'ssl' => array( // 请使用绝对路径 'local_cert' => env('SSL_CERT', null), // 也可以是crt文件 'local_pk' => env('SSL_PK', null), 'verify_peer' => false, // 'allow_self_signed' => true, //如果是自签名证书需要开启此选项 ) ); $gateway = new Gateway("websocket://0.0.0.0:2346", $context); if (!empty(env('SSL_CERT')) && !empty(env('SSL_PK'))) { $gateway->transport = 'ssl'; } // $gateway = new Gateway("websocket://0.0.0.0:2346"); $gateway->name = $this->serviceName . 'Gateway'; $gateway->count = 2; $gateway->lanIp = '127.0.0.1'; $gateway->startPort = 2300; $gateway->pingInterval = 30; $gateway->pingNotResponseLimit = 1; $gateway->pingData = '{"type":"ping"}'; $gateway->registerAddress = '127.0.0.1:1236'; } private function startRegister() { new Register('text://0.0.0.0:1236'); } }