Недавно я начал писать свой собственный клиент BitTorrent на Python 3. И все было прекрасно, пока я не столкнулся со следующей проблемой: Вместо ответного рукопожатия, когда я отправляю сообщение форматированного рукопожатия одному из пиров, я ничего не получаю (b''
, когда бафф не декодируется). Вот код:
handshakemsg = chr(19)+"BitTorrent protocol"+8*chr(0)+
getinfohash()+"HAHA-0142421214125A-")
s.send(handshakemsg.encode())
print("Connection to peer accepted")
buff = s.recv(len(handshakemsg))
print(buff)
Я думаю, что это правильный способ отправки сообщения рукопожатия, но ответ не похож на тот, который описан в спецификации. Мне интересно, почему это происходит, и как я могу этого избежать?