python3 socket

python3 socket 實(shí)現(xiàn)TFTP文件上傳

在本例中,我們首先使用socket.socket()創(chuàng)建一個(gè)套接字對(duì)象。然后打包TFTP請(qǐng)求并使用sendto()將其發(fā)送到服務(wù)器。然后,我們打開(kāi)要上載的文件,并以512字節(jié)的塊讀取它。對(duì)于每個(gè)塊,我們將數(shù)據(jù)和塊號(hào)打包到一個(gè)數(shù)據(jù)包中,并將其發(fā)送到服務(wù)器。。。

python3 socket 實(shí)現(xiàn)TFTP文件下載

在這段代碼中,我們首先定義服務(wù)器IP地址和TFTP端口號(hào)。然后,我們定義一個(gè)函數(shù)download_file,它將文件名作為輸入,并使用TFTP下載它。在該函數(shù)中,我們創(chuàng)建一個(gè)UDP套接字并打開(kāi)一個(gè)文件將數(shù)據(jù)寫(xiě)入其中。我們向服務(wù)器發(fā)送一個(gè)讀取請(qǐng)求(RRQ)包并接收數(shù)據(jù)包。我們檢查接收到的數(shù)據(jù)包是否是數(shù)據(jù)包,是否具有正確的塊號(hào),并將數(shù)據(jù)寫(xiě)入文件。我們還向服務(wù)器發(fā)送確認(rèn)