Последовательность входа на NMDC хаб

Последовательность входа на NMDC хаб

Общая (обязательная) последовательность входа на хаб

«Рукопожатие» между клиентом и хабом1

Хаб:2
$Lock [Код] Pk=[PrimaryKey]|

Клиент:
$Key [Рассчитанный_ключ]|$ValidateNick [Ник]|

Хаб:34
$HubName [Имя_хаба]|$Hello [Ник]|

Клиент:5
$Version [Версия]|$GetNickList|$MyINFO [Строка]|

Хаб:6
Отсылает список пользователей

Вход на пальцах выглядит так: Клиент коннектится, сервер отвечает командой $Lock, что мол я такой–то сервер, на что клиент отвечает: ок раз ты такой–то сервер — вот тебе ключ ($Key) и проверь мой ник ($ValidateNick), сервер проверяет ник и отправляет клиенту приглашение на вход под этим ником ($Hello), на что клиент отправляет на сервер внутреннюю версию ($Version), запрашивает список пользователей ($GetNickList) и отправляет информацию о себе ($MyINFO), а сервер отсылает ему список пользователей хаба.

Последовательность входа на хаб, который поддерживает характеристику QuickList

Хаб:
$Lock EXTENDEDPROTOCOL[Код] Pk=[PrimaryKey]|

Клиент:
$Supports QuickList|$Key [Рассчитанный_ключ]|

Хаб:
$Supports QuickList|

Клиент:
$MyINFO [Строка]|$GetNickList|

Хаб:
Отсылает список пользователей

См. подробности в характеристике QuickList

Оригинал (by Setuper): http://mydc.ru/ipb.html?showtopic=915&view=findpost&p=6683

  1. ^ Вне зависимости от данной последовательности, в любом месте входа хаб может отослать клиенту команду чата: «<[Бот_хаба]> Этот хаб работает под управлением...»
  2. ^ Если в начале параметра команды $Lock присутствует слово EXTENDEDPROTOCOL, то клиент должен отослать на хаб команду с поддерживаемыми им характеристиками $Supports. В ответ хаб должен отослать такую же команду со своими характеристиками. Однако, данный механизм обмена характеристиками фактически является не обязательным.
  3. ^ Команда $HubName может «выпадать» из этой последовательности и отсылаться, например, после команды $Lock, или вовсе отсутствовать
  4. ^ При входе, клиент отошлёт команды $Version, $GetNickList и $MyINFO только после того, как получит от хаба команду $Hello [Ник], причём со своим ником, который он отсылал на хаб в команде $ValidateNick. Причём, команда $GetNickList может и вовсе не отсылаться клиентом.
  5. ^ Команду $Version клиент может отослать и раньше указанного шага (например, непосредственно после $ValidateNick), однако она должна быть отослана до команды $MyINFO.
  6. ^ При отсылке хабом списка пользователей, хаб руководствуется поддержкой со стороны клиента той или иной характеристики. Подробности см. в описании характеристик NoHello и NoGetINFO.
Тэги:
Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 

Реклама

Для скачивания с этих сайтов нужно подключиться к внешним хабам

Нужен свой портал? magneto!