conectar()){ // Se ha establecido la conexión con el servidor hidra $parametros="nfn=".$funcion.chr(13); $parametros.=$aplicacion; $parametros.=$atributos; $parametros.=$acciones; $resul=$shidra->envia_peticion($parametros); if($resul) $trama=$shidra->recibe_respuesta(); $shidra->desconectar(); } if($resul){ $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); $ValorParametros=extrae_parametros($parametros,chr(13),'='); if (isset ($ValorParametros["tso"])) { $trama_notificacion=$ValorParametros["tso"]; } } // Send REST requests to new OGAgent clients. $urls = array(); // Compose array of REST URLs. foreach (explode (';', $cadenaip) as $ip) { $urls[$ip] = "https://$ip:8000/opengnsys/status"; } // Launch concurrent requests. $responses = multiRequest($urls); // Process responses array (IP as array index). foreach ($responses as $ip => $resp) { if (isset($resp['data'])) { $data = json_decode($resp['data']); // If user session is oppened, then append "S" to client status. if (isset($data->status) and isset($data->loggedin)) { // Output format: IP1/Status1;... echo "$ip/".$data->status.($data->loggedin?"S;":";"); // eliminamos los equipos repetidos en el agente antiguo y nuevo. $trama_notificacion=preg_replace("/$ip\/\w{3}/",'',$trama_notificacion); } } } echo $trama_notificacion;