onWorkerStart = function($ws_worker) { global $cmdClientList; $cmdClientList = []; $url = 'https://device.api.ct10649.com:8743/iocm/app/sec/v1.1.0/login'; $data = array( 'appId' => 'L_JzQ9KoR0py5X6fEGjO9p2PsWYa', 'secret' => 'pO9P7mecnU2KeucxkxuxiWbGBDsa', ); $jsonData = json_encode($data); var_dump(curl($url,$data)); // 指令返回结果处理 // Timer::add(1, function()use($ws_worker){ // global $globalData; // global $cmdClientList; // do // { // $old_value = $globalData->resList; // $new_value = []; // } // while(!$globalData->cas('resList', $old_value, $new_value)); // $resList = $old_value; // if (!empty($resList)) { // foreach ($resList as $resData) { // $resData = json_decode($resData,true); // if (isset($cmdClientList[$resData['devId']])) { // $cmdClientList[$resData['devId']]->send(json_encode($resData)); // unset($cmdClientList[$resData['devId']]); // } // } // } // }); }; // 下发指令 $tcp_worker->onMessage = function($connection, $data) { // global $globalData; // global $cmdClientList; // $res = json_decode($data,true); // if (isset($res['devId'])) { // $cmdClientList[$res['devId']] = $connection; // add_cmd($res); // }else{ // } }; function curl($url, $params = false, $ispost = 0, $https = 0) { $httpInfo = array(); $ch = curl_init(); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 // curl_setopt($ch, CURLOPT_CAINFO, 'C:\Users\wzh\Desktop\cert\client.crt'); curl_setopt($ch, CURLOPT_SSLCERT, './cert/outgoing.CertwithKey.pem'); curl_setopt($ch, CURLOPT_SSLCERTPASSWD, 'IoM@1234'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_URL, $url); $response = curl_exec($ch); if ($response === FALSE) { echo "cURL Error: " . curl_error($ch); return false; } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $httpInfo = array_merge($httpInfo, curl_getinfo($ch)); curl_close($ch); return $response; } Worker::runAll();