Синтаксис:
Пользователь в активе:
$Search [IP]:[Порт] [Строка_поиска]
Пользователь в пассиве:
$Search Hub:[Ник] [Строка_поиска]
Направление команды:
Клиент ---> Хаб
Хаб ---> Клиент
Хаб ---> Хаб
Описание:
Данная команда используется для начала поиска файлов на хабе. Формат [Строки_поиска] не зависит от режима подключения клиента (актив, пассив).
[IP] — IP адрес активного пользователя.
[Порт] — UDP порт, который клиент слушает для приёма ответов на запрос от других клиентов.
[Ник] — ник пассивного пользователя.
[Строка_поиска] — строка поиска, которая описывает файл, который ищет клиент. Части этой строки разделяются знаками вопроса ('?'):
[Размер_ограничения]?[Максимальный_размер]?[Размер]?[Тип_данных]?[Поисковый_параметр]
[Размер_ограничения] — принимает значение 'T', если поиск должен быть ограничен максимальным или минимальным размером, иначе 'F'.
[Максимальный_размер] — принимает значение 'F', если [Размер_ограничения] равен 'F' или если размер ограничения устанавливает более низкий предел размера файла, иначе 'T'.
[Размер] — минимальный или максимальный размер файла в байтах (в случае, если указан [Максимальный_размер]) и если [Размер_ограничения] принимает значение 'T', иначе 0.
[Тип_данных] — ограничение поиска по типу файлов. Данное ограничение принимает одно из следующих целых чисел:
- 1 для любого типа файлов;
- 2 для аудио файлов («mp3», «mp2», «wav», «au», «rm», «mid», «sm»);
- 3 для архивов и сжатых файлов («zip», «arj», «rar», «lzh», «gz», «z», «arc», «pak»);
- 4 для документов и текстовых файлов («doc», «txt», «wri», «pdf», «ps», «tex»);
- 5 для выполняемых файлов («pm», «exe», «bat», «com»);
- 6 для картинок («gif», «jpg», «jpeg», «bmp», «pcx», «png», «wmf», «psd»);
- 7 для видео («mpg», «mpeg», «avi», «asf», «mov»);
- 8 для папок;
- 9 для TTH поиска;
- 10 для CD/DVD образов.
[Поисковый_параметр] — поисковый параметр определяет совпадения в имени файлов
Если тип поиска установлен в 9, то поисковый параметр должен представлять из себя TTH искомого файла.
Как и во всех сообщениях NMDC, в поисковом параметре следует избегать употребления следующих символов: «$», «|» и «&».
Все пробелы в поисковом параметре заменяются на знак '$'.
После отправки на хаб этого сообщения, хаб должен без изменений переслать это сообщение всем пользователям хаба. Каждый пользователь с одним или более совпадениями должен послать UDP пакет на [IP]:[Порт] в случае активного запроса или на хаб в случае пассивного запроса.
Смотрите описание команды $SR для детального разбора.
Примеры:
$Search 10.10.10.10:412 T?T?500000?1?Gentoo$2005
$Search Hub:Вася T?T?500000?1?Gentoo$2005
$Search 10.10.10.10:3746 F?T?0?9?TTH:TO32WPD6AQE7VA7654HEAM5GKFQGIL7F2BEKFNA
$Search Hub:Пётр F?T?0?9?TTH:TO32WPD6AQE7VA7654HEAM5GKFQGIL7F2BEKFNA
Оригинал (by Setuper): http://mydc.ru/index.html?showtopic=915&view=findpost&p=6743