Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.
Table of Contents

????? ??' 6

????? ?????

?????? ????? ??? ?????? ????? ??????? ??? ????? Áú»¢¶Ä²©. ???? ????? ?? ???? ??????, ?? ??? ????? ?? ??, ?? ??? ????? ????? ?? ??.

????????? ??????? ?? Áú»¢¶Ä²© ?? ????? ???? ???? ?? 1GB ??? ?????. ????? ?? 1GB ???? ?? ?? ???? ????? ?????? ??????? ??? ?? ???? ??????? ??? ??????.

??? ????? ????? ?-Proxy Áú»¢¶Ä²©, ????? ???? ?????? ???? ?-4GB ??? ????? ?????? ?????? ??????. ???? ???? ??????? ???? ?????? ???? ?? 4GB, ??? Áú»¢¶Ä²© ????? ??????? ????? ?????? ?????? ??????? ??????? (??? 0x04) ?????? ?? ????? ???? ?????? ?-16GB.

??? ?? ????? ????? ?????? ?????? ???? ???? ?????? ?? ??????, ???? ?? ?????? Áú»¢¶Ä²© ??????? ?????? ???? ??????? ?? ???? ?????? ???? ?? 1GB.

????

?????? ?????? ?????? ????. ?? ??????? ?????? ??????? ?- little-endian.

??? ???? ????
(????? ?????)
?????
<PROTOCOL> 4 4 "ZBXD" ?? 5A 42 58 44
<FLAGS> 1 1 ????? ?? ????????:
0x01 - ???????? ?????? Áú»¢¶Ä²©
0x02 - ?????
0x04 - ????? ?????
<DATALEN> 4 8 ???? ??????.
<RESERVED> 4 8 ???? ???? ????? ?????? (??? 0x02) - ???? ??????? ??? ??????
???? ?? ???? ????? ?????? - 00 00 00 00

???????

??? ??? ???? ??? ?????? ???? ?????? ?? ????? ???????? Áú»¢¶Ä²© ??????? ??????? ????? ??? ???? ??? ????? ?? ?????? ???? ????? ?-Zabix ??? ?????? ????. ???? ???? ???? ???? ???????? ???? ?????? ?-1GB, ???? ?? ???? ????? ?????? ??????? ???????.

??????
packet = b"ZBXD\1" + struct.pack("<II", len(data), 0) + ??????

???

def zbx_create_header(plain_data_size, compressed_data_size=???):
            ???????? = b"ZBXD"
            ????? = 0x01
            ?? compressed_data_size ??? None:
                datalen = plain_data_size
                ???? = 0
            ?????:
                ????? |= 0x02
                datalen = compressed_data_size
                ???? = plain_data_size
            return protocol + struct.pack("<BII", flags, datalen, ????)

       packet = zbx_create_header(len(data)) + ??????
???
$packet ??? = "ZBXD\1" . pack("(II)<", length($data), 0) . $data;

???

sub zbx_create_header($;$)
       {
            my $plain_data_size = shift;
            my $compressed_data_size = shift;

            my $protocol = "ZBXD";
            $flags ??? = 0x01;
            $?????? ???;
            $????? ???;

            if (!defined($compressed_data_size))
            {
                $datalen = $plain_data_size;
                $reserved = 0;
            }
            ?????
            {
                $flags |= 0x02;
                $datalen = $compressed_data_size;
                $reserved = $plain_data_size;
            }

            ???? $???????? . chr($flags) . pack("(II)<", $datalen, $reserved);
       }

       my $packet = zbx_create_header(length($data)) . $data;
PHP

`php $packet = "ZBXD\1" . pack("VV", strlen($data), 0) . $data;


       ???

       `` `php
       function zbx_create_header($plain_data_size, $compressed_data_size = null)
       {
            $protocol = "ZBXD";
            $flags = 0x01;
            if (is_null($compressed_data_size))
            {
                $datalen = $plain_data_size;
                $reserved = 0;
            }
            ?????
            {
                $flags |= 0x02;
                $datalen = $compressed_data_size;
                $reserved = $plain_data_size;
            }
            ???? $???????? . chr($flags) . pack("VV", $datalen, $reserved);
       }

       $packet = zbx_create_header(strlen($data)) . $data;
??
datalen=$(printf "%08x" ${#data})
       datalen="\\x${datalen:6:2}\\x${datalen:4:2}\\x${datalen:2:2}\\x${datalen:0:2}"
       printf "ZBXD\1${datalen}\0\0\0\0%s" "$data"