= Direct Connect = '''Direct Connect''' — это частично централизованная файлообменная (P2P) сеть, в основе работы которой лежит проприетарный протокол, разработанный фирмой NeoModus. = Хабы = Клиенты подключаются к одному или нескольким серверам, т. н. хабам для поиска файлов, которые обычно не связаны между собой (некоторые типы хабов можно частично или полностью связать в сеть, используя специализированные скрипты или программу Hub-Link) и служат для поиска файлов и источников для их скачивания. В качестве хаба чаще всего используются [[PtokaX]], [[Verlihub]], [[YnHub]], [[Aquila]], [[DB Hub]], [[RusHub]]. = Альтернативная (Правдивая?) история = Однажды простой американский школьник по имени Джонатан Хесс решил создать свою собственную [[P2P]] сеть, с блэкджеком и шлюхами, и получить профит со встроенного спама. Чтобы гениальный план свершился, в клиенте был зашит супер-секретный ключ, позволяющий использовать только родной софт. Но Джонатан знал только [[Visual Basic]], и ключ был взломан злыми [[хакерами]] особо не напрягаясь. В память о тех славных временах остался наикривейший протокол (в котором в словах из пяти букв десять ошибок, нельзя искать два файла сразу, и еще куча фейла). В современных клиентах содержится куча костылей, чтобы эти глюки обойти. При этом про оригинальный клиент уже никто не помнит. Протокол все собираются переписать, но почти на всех хабах так и крутятся потомки глючного детища Джонатана. = Пример авторизации пользователя = {{{ Client <-> Server Communication in DC. 01-26-2003. By Sid ---------------------------------------------------------- Client Hub Login Example ---------------------- C = client H = hub C>H: Connection H>C: $Lock Pk=| H>C: $HubName | C>H: $Key |$ValidateNick | C>H: $MyINFO $ALL $ $$$$ C>H: $GetINFO C>H: $GetINFO... }}} = Пример скачки файла = {{{ Client <-> Client Communication in DC. 11-05-2002. By aDe ---------------------------------------------------------- ACTIVE FILE DOWNLOAD ---------------------- D = downloader U = uploader H = hub D>H: $ConnectToMe | H>U: $ConnectToMe | U>D: Connection U>D: $MyNick |$Lock | D>U: $MyNick |$Lock |$Direction Upload |$Key | U>D: $Direction Download |$Key | D>U: $Get $| U>D: $FileLength | D>U: $Send| U>D: Data, in many chunks. D>U: $Send| <- when 40906 bytes are sent, ask for more }}} = Ссылки = [[http://www.teamfair.info/DC-Protocol.htm|Описание протокола DC]]