Синтаксис:
$Direction [Направление] [Номер]|
Направление команды:
Клиент ---> Клиент
Описание:
Эта команда отсылается в ответ на команду $Key. Команда решает, какая сторона будет скачивать.
[Направление] — данный параметр может принимать значения «Upload» или «Download». Параметр принимает значение «Upload» только в случае, если ваш клиент ничего не хочет скачать с соединяемого пользователя.
[Номер] — это случайное число. Когда оба клиента хотят скачивать друг у друга, первым начинает скачивать тот, у кого это число выше. Если эти числа равны, то соединение закрывается.
Специфичность:
Максимальное значение параметра [Номер] — 0x7FFF. NMDC должен разорвать соединение, если отсылаемое число вдруг оказалось больше максимального.
DC++ может не посылать эту команду после команды $Lock, если в команде $Lock встретилось значение EXTENDED. Смотрите описание команды $Supports.
У DC++ клиентов есть следующий баг:
У клиента A ноль свободных слотов, у клиента B есть свободные слоты. Клиент B хочет скачать у A файлы, клиент A также хочет скачать у B некоторые файлы.
Если клиент A хочет получить что–то от клиента B и он посылает случайное число, клиент B не может получить слот, потому что их нет у клиента A и тогда в статусной строке появляется надпись «Соединение...». Решение этой проблемы предложено на страницах обсуждения клиента. Выход из этой ситуации осуществляется отправкой всё большего и большего случайного числа, пока не освободится свободный слот и не установится соединение
Оригинал (by Setuper): http://mydc.ru/index.html?showtopic=915&view=findpost&p=6909