public function read()
    {
        $rarray = [];
        $count = 0;

        while ($data = fread($this->socket, 4)) {
            $data = unpack('V1Size', $data);

            if ($data['Size'] > 4096) {
                $packet = '';
                for ($i = 0; $i < 8; $i++) {
                    $packet .= "\x00";
                }
                $packet .= fread($this->socket, 4096);
            } else {
                $packet = fread($this->socket, $data['Size']);
            }

            $rarray[] = unpack('V1ID/V1Response/a*S1/a*S2', $packet);
        }

        return $rarray;
    }