Идея: Совместный поиск.

Общая дискуссия
Forum rules
Home | Wiki | Rules

Идея: Совместный поиск.

Postby ivan386 » 17 May 2010 13:58

Публикация в сети DHT большого количества файлов это достаточно длительная процедура поэтому я предлагаю другой подход.

Запуская поиск по хешу клиент публикует свой адрес в сети DHT и получает адреса других клиентов которые также ищут этот файл. На этом работа DHT окончена.

Далее клиент соединяется с остальными и обменивается результатами поиска (альтернативные источники).
Также он может сообщать адреса хабов которые он уже опросил чтобы остальные могли проверить другие.
ivan386
 
Posts: 261
Joined: 17 Jun 2009 14:08

Re: Идея: Совместный поиск.

Postby raspopov » 05 Jun 2010 22:10

Из сети DHT нельзя получить адреса тех кто искал.
User avatar
raspopov
Project Admin
 
Posts: 945
Joined: 13 Jun 2009 12:30

Re: Идея: Совместный поиск.

Postby ivan386 » 06 Jun 2010 07:53

Естественно они будут отправлять announce_peer.
ivan386
 
Posts: 261
Joined: 17 Jun 2009 14:08

Re: Идея: Совместный поиск.

Postby raspopov » 06 Jun 2010 08:04

Ты не понял почему нельзя получить из DHT эти данные - просто по тому, что никто из членов DHT их не сохраняет.
User avatar
raspopov
Project Admin
 
Posts: 945
Joined: 13 Jun 2009 12:30

Re: Идея: Совместный поиск.

Postby ivan386 » 06 Jun 2010 11:37

Сохранять будет тот же кто и ищет. На данный момент клиенты Shareaza. Я уже сделал это возможным в Lua DHT.

Но пока это не удобно поскольку надо делать специальные ссылки для файлов и добавлять их как источник. Если сделать эмулятор хаба это конечно будет удобней (Но это в разработке).

BitTorrent DHT хранит на ноде данные hash,ip,port и что за ними скрывается ноде абсолютно пополам.

sha1 хеш для поиска и публикации получается из bencode словаря содержашего urn файла и протокола связи.
sha1(d15:urn:tree:tiger:24:[хеш в RAW виде|hash in RAW]8:protocol7:uri-rese)

синтаксис словаря жестко определён и каждый клиент генерирует идентичные bencode словари для идентичных пар хеш-протокол. Соответственно и хеш его будет одинаковый.
sha1({[имя урн]=[хеш в RAW виде], protocol=[название протокола]})

protocol:
ed2k
uri-res (G2)
Gnutella
BitTorrent (default)

urn names | имена urn

urn:tree:tiger: (preferred | предпочитаемый)
urn:sha1:
urn:ed2k:
urn:md5:

Поскольку стандартные клиенты не берут хешей из DHT, они не будут пытаться ломиться с этими хешами по опубликованным адресам.

Ещё вопросы?
ivan386
 
Posts: 261
Joined: 17 Jun 2009 14:08


Return to Русский

Who is online

Users browsing this forum: No registered users and 1 guest