$GetZBlock

Материал из MyDC's Wiki

Перейти к: навигация, поиск


Синтаксис

$GetZBlock {число} {число_байт} {имя_файла}|


Направление команды

Клиент ---> Клиент


Описание

Данная команда является дополнением к протоколу. На поддержку данной команды указывает характеристика GetZBlock в команде $Supports.
Вместо команд $Get и $Send используется вышеприведенная команда.
Параметр {число} начинается с 0 (именно с 0, в отличии от команды $Get, в которой данный параметр начинается с 1) и обозначает начальную точку загрузки файла.


{число_байт} - это число отправляемых байт (или -1 для неизвестного или целого файла).


{имя_файла} - очевидно, что это имя файла.


После этого второй клиент отвечает командой "$Sending {байты}|{сжатие}", если отправка прошла успешно или командой "$Failed {описание_ошибки}|" в противном случае.


Если всё в порядке, то данные будут отправляться до тех пор пока не отошлёться вся не сжатая длина файла.


{байты} - указывает сколько будет извлечено отосланных байт без сжатия, потому как отсылающий клиент не знает на сколько хорошо был сжат файл. Одна отсылка туда и обратно оптимизирует механизм передачи файла.

Сжатие

Для сжатия используется библиотека ZLib (v 1.1.4 в DC++ начиная с версии 0.21), использующая динамическое сжатие. Уровень сжатия может изменяться для того чтобы снизить нагрузку на процессор или в случае если файл не сжимается. Уровень сжатия регулируется с помощью хеш-функции adler32.

Поддержка

Команда $GetZBlock устарела, но согласно DC++ 0.696 её поддержка ещё существует. Новая реализация этой команды используется в команде $ADCGET с параметром ZL1.

Не поддерживается клиентом FlylinkDC++ в версиях ветки r5xx, выпущенных после 12 ноября 2013 года.[1]

Примечания

Источник — «http://wiki.mydc.ru/$GetZBlock»
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
RusHub
Инструменты
Портал