worker = new Worker("websocket://".$listenConfig['ipaddress'].":" . $listenConfig['port']); $this->worker->reusePort = true; // 允许不同进程共同监听 $this->worker->count = $workerConfig['worker_num']; $this->worker->name = 'Server:' . $workerConfig['name']; Worker::$pidFile = $workerConfig['pid_file']; Worker::$logFile = $workerConfig['log_file']; Worker::$daemonize = $workerConfig['daemonize']; if(isset($workerConfig['stdout_file']) && !empty($workerConfig['stdout_file'])){ Worker::$stdoutFile = $workerConfig['stdout_file']; } $this->worker->onWorkerStart = array($listener, 'workerStart'); $this->worker->onMessage = array($listener, 'onMessage') ; $this->worker->onClose = array($listener, 'onClose'); $this->worker->onConnect = array($listener, 'onConnect'); $this->worker->onError = array($listener, 'onError'); // 启动进程 Worker::runAll(); } /** * 初始化 * * @return void */ public static function run() { $object = new self(); $object->handle(); } }