function getGrabImageTmpl($sInputFile, $sOutputFile, $sSize = "", $iSecond = 0) { global $aConvertTmpls; return prepareCommand($aConvertTmpls["image"], array("input" => $sInputFile, "second" => $iSecond, "size" => empty($sSize) ? "" : $sSize, "output" => $sOutputFile)); }
function sendIPCommand($address, $service_port, $item_address, $command, $check = false) { if (!($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) { $errorcode = socket_last_error(); $errormsg = socket_strerror($errorcode); die("Couldn't create socket: [{$errorcode}] {$errormsg} \n"); } //echo "Attempting to connect to '$address' on port '$service_port'..."; $result = socket_connect($socket, $address, $service_port); if ($result === false) { echo "socket_connect() failed.\nReason: ({$result}) " . socket_strerror(socket_last_error($socket)) . "\n"; } else { //echo "OK.\n"; } $payload = ''; $payload = prepareCommand($item_address, $command); //echo "Sending request:"; //echo binaryToString($payload)."\n"; socket_write($socket, $payload, strlen($payload)); //echo "OK.\n"; //echo "Reading response:\n"; $buf = 'This is my buffer.'; if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) { //echo "Read $bytes bytes from socket_recv(). Closing socket..."; } else { echo "socket_recv() failed; reason: " . socket_strerror(socket_last_error($socket)) . "\n"; } socket_close($socket); $message = binaryToString($buf); //echo "Return: $message<br/>"; if (strlen($message) < 5 * 2) { return false; } if ($check) { $tmp = HexStringToArray($message); $data_len = $tmp[2]; $latest = substr($message, -4); $message = substr($message, 0, strlen($message) - 4); $message = substr($message, 3 * 2); $new_len = floor(strlen($message) / 2); if ($new_len != $data_len) { return false; } } return $buf; }