$Direction
Материал из MyDC's Wiki
Команда протокола NMDC.
Синтаксис
$Direction {направление} {номер}|
Направление команды
- Клиент ---> Клиент
Описание
- Эта команда отсылается в ответ на команду $Key. Команда решает какая сторона будет скачивать.
- {направление} - данный параметр может принимать значения "Upload" или "Download". Параметр принимает значение "Upload" только в случае если ваш клиент ничего не хочет скачать с соединяемого пользователя.
- {номер} - это случайное число. Когда оба клиента хотят скачивать друг у друга, первым начинает скачивать тот, у кого это число выше. Если эти числа равны, то соединение закрывается.
Специфичность
- Максимальное значение параметра {номер} - 0x7FFF. NMDC должен разорвать соединение, если отсылаемое число вдруг оказалось больше максимального.
- DC++ может не посылать эту команду после команды $Lock, если в команде $Lock встретилось значение EXTENDED. Смотрите описание команды $Supports.
Баг DC++ клиентов
- У клиента A ноль свободных слотов, у клиента B есть свободные слоты. Клиент B хочет скачать у A файлы, клиент A также хочет скачать у B некоторые файлы. Если клиент A хочет получить что-то от клиента B и он посылает случайное число, клиент B не может получить слот, потому что их нет у клиента A и тогда в статусной строке появляется надпись "Соединение...". Решение этой проблемы предложено на страницах обсуждения клиента. Выход из этой ситуации осуществляется отправкой всё большего и большего случайного числа, пока не освободится свободный слот и не установится соединение.