Обновление BitTorrent Tracker?

В битторрент-клиенте первый ответ от трекера будет содержать список пиров. Когда к трекеру обращаются за обновлением после первого ответа, будут ли какие-либо одноранговые узлы, отправленные во втором ответе, такими же, как и в первом ответе?

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

заранее спасибо


person brnby    schedule 19.08.2012    source источник
comment
В этом легко убедиться, наблюдая за роем в дикой природе или прочитав (неофициальную) спецификацию: wiki.theory. .org/BitTorrentSpecification#Tracker_Response Трекеры могут отвечать любым набором пиров, которые им нужны. Хотя я сомневаюсь, что время, потраченное на эту проверку, будет значительным (даже если это займет что-то абсурдное, например, две секунды, чего точно не будет, потеря двух секунд каждые полчаса не должна быть проблемой).   -  person R. Martinho Fernandes    schedule 19.08.2012
comment
Спасибо, кажется, вы всегда отвечаете на мои вопросы о битторренте :) Из интереса, какой у вас опыт работы с битторрентом?   -  person brnby    schedule 19.08.2012
comment
Я пытался написать клиент раньше, но не пошел дальше начальной стадии глубокого исследования. Я перешел к другим проектам, когда был далек от его завершения. Я все еще надеюсь, что когда-нибудь закончу ее.   -  person R. Martinho Fernandes    schedule 19.08.2012
comment
:) Отлично, и еще раз спасибо за помощь.   -  person brnby    schedule 19.08.2012


Ответы (1)


Трекеры обычно должны отправлять случайно выбранное подмножество всех известных им пиров для этого роя. Фактические реализации отличаются, например. они могут перемещать окно по длинному списку одноранговых узлов из соображений эффективности или могут внедрять поддельные одноранговые узлы, чтобы обеспечить правдоподобное отрицание.

Если размер роя достаточно мал, чтобы соответствовать лимиту numwant, они вернут весь рой.

Но даже если вы получите весь рой, набор возвращенных пиров все равно может отличаться просто из-за новых поступлений/отправлений.

И вы также хотите связаться с трекером, чтобы сохранить себя в их списке, так как ваша запись в конечном итоге истечет.

Короче говоря: между возвращаемыми наборами может быть от 0 до 100% перекрытия.

Просто храните свои данные в структурах данных hash/set, и все будет в порядке.

person the8472    schedule 19.08.2012