Сообщение данных BEP9 (ut_metadata) имеет поле total_size
, и у меня возникли проблемы с пониманием того, что это значит.синтаксический анализ сообщения данных BEP9 (ut_metadata)
сообщение в следующем формате:
<4-byte length prefix><20><1-byte extended msg id><bencode part><piece data>
Я запутался о двух вещах:
- Включается ли длина префикса
<piece data>
часть? - Что делает
total_size
Поле вbencode_part
Укажите?
Мне кажется, что нам не нужен total_size
, если я что-то не понимаю.
Вот в настоящее время, как я разборе его:
- Длина префикса включает
<piece data>
, так что я знаю точно, насколько большой это сообщение. Я читаю много байтов. - После разбора
<bencode_part>
, я просто потребляю остаток байтов и рассматриваю это данные.
Может ли кто-нибудь помочь мне понять этот формат?
Спасибо.
Я думаю, что в формате сообщения, который вы описываете, отсутствует заголовок расширения, вложенный в стандартный заголовок bittorrent. – the8472
Вы правы, только что отредактировали сообщение. – sinan