做项目的时候,有时候便会和后台撕逼。有时候后台给的数据不是前端想要的。他还很固执的不想改。所以便觉得是时候包揽后台的活了。
闲话不多说,分享一下我对TFTP协议的一些理解
下载流程:
发送下载请求:
下载操作码为1,模式为octet
file_down_load_request = "!H" + str(len(fileName)) + "s" + "b" + "5s" + "b";
print(file_down_load_request)
tftp_down_request = struct.pack(file_down_load_request, 1, fileName, 0, "octet".encode("utf-8"), 0);
操作码为2个字节,H像是占位符一样占两个字节,模式octet占五个字节。注意编解码,这是我觉得p2与p3最让我蛋疼的地方
udpSocket.sendto(tftp_down_request, ("169.254.233.46", 69))
发送给服务端,注意这里是个元组(ip,端口)
接收数据包: