socket, '127.0.0.1', $port) or die("socket_bind() fail:" . socket_strerror(socket_last_error()) . "/n"); //$ex = socket_listen($this->socket, 4) or die("socket_listen() fail:" . socket_strerror(socket_last_error()) . "/n"); // return $ex; return $socket; } //abc处理读取到的卡(4字节); function abc($ret) { $len = $ret[4]; if($len < 14) { //printf('无效数据'); return ; } // $count = $ret[9]; $count = ($count - 3) / 4; // for($i=0; $i<$count; $i++) { $idx = 10 + ($i * 4); $card = sprintf("%02X%02X%02X%02X", $ret[$idx+0], $ret[$idx+1], $ret[$idx+2], $ret[$idx+3]);//这是获取到的卡数据(按文档意思可能会读到多张卡,处理这个$card就可以了) $card = sprintf("%02X%02X%02X", $ret[$idx+0], $ret[$idx+1], $ret[$idx+2]);//这是获取到的卡数据(按文档意思可能会读到多张卡,处理这个$card就可以了) printf('card['.$i.']>>'.$card.' | '); // $post_data['data'] = 'card['.$i.']>>'.$card.' | '; $card_id = $card; $card = 'card['.$i.']>>'.$card.' | '; $url = 'https://car.cncnconnect.com/massage/admin/Tcp/getInfo?card_id='.$card_id.'&time='.msectime(); $a = file_get_contents($url); // printf(json_encode($a)); } } function msectime() { list($msec,$sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); return $msectime; } function crulGetData($url, $post, $method, $header=1){ // $this->_errno = NULL; // $this->_error = NULL; $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); if($post != NULL) curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true); curl_setopt($ch, CURLOPT_AUTOREFERER,true); curl_setopt($ch, CURLOPT_TIMEOUT, 120); if($header) curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-type: application/json', ) ); $result = curl_exec($ch); return $result; } function accept($socket) { return socket_accept($socket); } function close() { if($this->socket == 0) return; socket_close($this->socket); $this->socket = 0; } function recv_bytes($cs, $len = 1024) { $ret = recv($cs, $len); $bytes = string_to_bytes($ret); return $bytes; } function recv($cs, $len = 1024) { $ret = socket_read($cs, $len) or die("/n"); return $ret; } function string_to_bytes($str) { $bytes = array(); for($i=0; $i