我最近開始在Python 3中編寫我自己的BitTorrent客戶端。在我遇到以下問題之前,所有內容都是完美的: 當我向其中一個對等方發送格式化的握手消息時,我沒有收到任何響應握手(b''
,當buff未解碼時)。下面是代碼:爲什麼對等方發送握手消息來響應我發送的握手消息?
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)
這是發送握手消息我認爲正確的方法,但反應並不像說明書中所描述的一個。我想知道爲什麼會發生這種情況,我該如何避免這種情況?
也許是因爲你拼寫爲 「協議」 錯了嗎? – Roddy
不,這不是原因,我做了測試,如果我發送錯誤的握手會發生什麼,但我忘了在這裏改變它。感謝提醒我反正 –
你能顯示二進制輸出嗎?捕捉它與wireshark – the8472