$SR
Материал из MyDC's Wiki
Команда протокола NMDC.
Синтаксис
$SR {ник_ответчика} {результат}{0x05}{свободные_слоты}/{всего_слотов}{0x05}{имя_хаба} ({ip_хаба:порт})[{0x05}{целевой_ник}]|
Направление команды
- Клиент ---> Хаб
- Хаб ---> Клиент
- Клиент ---> Клиент
- Хаб ---> Хаб
Описание
- Данная команда используется для возврата имени файла или директории, которая соответствует запросу в команде $Search. Все условия, которые находятся в оригинальном запросе, должны находиться в {результат}, и все типы и ограничения, используемые в команде $Search, должны быть выполнены.
- {результат} представляет из себя либо {имя_файла}{0x05}{размер_файла} для поиска по файлам, либо {директория} для поиска по директориям {0x05} — это 5-ый символ ASCII (используется в качестве разделителя).
- Данная команда посылается клиентом, если у данного клиента нашлось что-то из запроса команды $Search от другого клиента. Если команда $Search была послана от пассивного пользователя, то команда $SR должна быть возвращена хабу (через TCP). В этом случае, в конец данной команды должно быть дописано {0x05}{целевой_ник}. Перед пересылкой этой команды пользователю, который инициализировал поиск, хаб удаляет данную приписку с разделителем и целевым ником. Если команда $Search была послана от активного пользователя, то команда $SR возвращается на указанный в команде $Search IP-адрес и порт UDP.
- Параметр {ip_хаба:порт} нужен только в том случае, если порт хаба не является портом по умолчанию (411).
- В UNIX-системах в путях к файлу должен встречаться только прямой слеш (/).
- Клиент DC++ будет отсылать максимум 5 результатов поиска для пассивных пользователей и 10 для активных. Кроме этого, чтобы снизить нагрузку, хаб может сократить количество возвращаемых ответов на пассивные поисковые запросы.
- Для файлов, содержащих TTH, параметр {имя_хаба} заменяется на {TTH}:{base32_encoded_tth_hash} (см. TTH)
Примеры
Ответ на пассивный поиск:$SR Вася Файл.txt{0x05}437 3/4{0x05}МойХаб (10.10.10.10:411){0x05}Петя|Ответ на активный поиск:
$SR Вася Файл.txt{0x05}437 3/4{0x05}МойХаб (10.10.10.10:411)|