count = 4; // 当收到客户端发来的数据后返回hello $data给客户端 $ws_worker->onMessage = function(TcpConnection $connection, $data) use($config) { # 数据库链接不能在主进程,方法外是主进程 $dm = new Dm($config['connections']['dm']); $param = json_decode(html_entity_decode($data),true); $returnData = ['code' => 0, 'msg' => 'error:请求失败']; try { $type = $param['type']; $request = $param['request']; switch ($type) { case 'allGroupTimeNum': $passData = PassFlow::allGroupTimeNum(['granularity' => $request['granularity'] ,'groupsId' => $request['groupsId']],$dm); if (empty($passData['code'])) throw new Exception($passData['msg']); $returnData['data'] = $passData['data']; break; case 'allGroupNum': $passData = PassFlow::allGroupNum($dm); $returnData['data'] = $passData; break; case 'realTimeData': $passData = PassFlow::realTimeData($dm); $returnData['data'] = $passData; break; case 'toDayGroupsEnterNum': $passData = PassFlow::toDayGroupsEnterNum($dm); $returnData['data'] = $passData; break; case 'allFlowTrends': $passData = PassFlow::allFlowTrends($dm); $returnData['data'] = $passData; break; default: throw new Exception('type:参数数据错误'); } $returnData['code'] = 1; $returnData['msg'] = 'success'; } catch (Exception $e) { $returnData['msg'] = $e->getMessage(); } $connection->send(json_encode($returnData)); }; // 运行worker Worker::runAll();