".$requestin; fwrite($socket, $request) or die('{"error":"Could not send data to server"}'); } function getResponseFTL($socket) { $response = []; $errCount = 0; while (true) { $out = fgets($socket); if ($out == "") { $errCount++; } if ($errCount > 100) { // Tried 100 times, but never got proper reply, fail to prevent busy loop die('{"error":"Tried 100 times to connect to FTL server, but never got proper reply. Please check Port and logs!"}'); } if (strrpos($out,"---EOM---") !== false) { break; } $out = rtrim($out); if (strlen($out) > 0) { $response[] = $out; } } return $response; } function disconnectFTL($socket) { if (is_resource($socket)) { fclose($socket); } } function callFTLAPI($request, $FTL_IP = DEFAULT_FTL_IP, $port = DEFAULT_FTL_PORT) { $socket = connectFTL($FTL_IP, $port); if (!is_resource($socket)) { $data = array("FTLnotrunning" => true); } else { sendRequestFTL($request, $socket); $data = getResponseFTL($socket); } disconnectFTL($socket); return $data; } ?>