Я создал торрент-трекер в python, который возвращает список всех адресов заполнения и портов, на которых они отправляются
Я хотел бы создать с ними рукопожатие, чтобы я мог начать получать фрагменты и создаватьблоки (загрузка файла)
до сих пор, мое рукопожатие было отклонено со следующей ошибкой, так как сообщение, которое я посылаю одноранговому узлу, является неправильным.
ConnectionRefusedError: [Errno 111] Connection refused
пока у меня естьследующий код для создания рукопожатия
25 def genhand(t : torrent):
26 temp = b'\x13'
27 temp += b'BitTorrent protocol'
28 temp += b'\x00'*8
29 temp += torrent.info_hash
30 temp += t.peer_id.encode('utf8')
31 return temp
в виде шестнадцатеричного дампа это:
00000000: 13 42 69 74 54 6F 72 72 65 6E 74 20 70 72 6F 74 .BitTorrent prot
00000010: 6F 63 6F 6C 00 00 00 00 00 00 00 00 55 8C F1 4F ocol........U..O
00000020: 80 A2 D0 BC A6 FB 90 8C 62 90 76 55 F1 84 A6 59 ........b.vU...Y
00000030: 2D 50 59 30 30 30 31 2D 38 38 39 34 31 38 30 32 -PY0001-88941802
00000040: 33 31 38 30 3180
формат для создания рукопожатия может быть найден здесь в разделе 6.2.насколько я вижу, мой формат для рукопожатия правильный.что я делаю не так?
спасибо