Сегодня я пытаюсь понять (и, возможно, внедрить) протокол Bittorrent.
Я уже хорошо разобрался, как расшифровать содержимое торрент-файла, и отправил запрос на Трекер с извлеченными данными.
Но ответ не является ожидаемым: Вики о протоколе Bittorent Tracker говорит, что ответ должен содержать в пирах List of dictionaries corresponding to peers.
Я читаю ответ с помощью программы C #, и единственное, что у меня есть в поле, - это массив байтов (byte []), который содержит 50-0B-3F-3F-00-00-50-0B-3F-3F-3F-3F
, если я преобразую его в строку с
BitConverter.ToString((byte[])peers)
Первоначальный ответ Трекера:
d8:completei0e10:downloadedi2e10:incompletei2e8:intervali1970e12:min intervali985e5:peers12:P?? P????e
И мой HTTP-запрос к нему был:
http://bt1.archive.org:6969/announce?info_hash=%ac%c3%b2%e43%d7%c7GZ%bbYA%b5h%1c%b7%a1%ea%26%e2&peer_id=ABCDEFGHIJKLMNOPQRST&ip=xxx.xxx.xxx.xxx&port=6881&downloaded=0&left=970
Так я не понимаю, что не так?