TFTP(Trivial File Transfer Protocol ,简单文件传输协议):
1、tftp32.exe运行起来当做一个共享服务器
C/S client/server :需要一个单独的客户端 B/S browser/server :浏览器与服务器,不需要客户端
udpSocket.recvfrom(1024) ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接:有可能是因为接受数据的服务器已经关闭,没有接收成功。
多个字节的数据在网络中以大端形式存取:高位存在了低地址 0x1122 :低地址存放高位11,。
import struct
cmd=struct.pack("!H8sb5sb",1,"1.jpg",0,"octet",0) 其中:!代表网络中存放大端形式;H表示占两个字节; s占一个字节,8s占8个字节;b占一个字节,5s占5个字节;b占一个字节
cmdTuple=struct.unpack("!HH",recvData[:4]) //对收到的4个字节数据进行处理 !表示数据由网络中得到,H表示两个字节、两个字节分别进行处理
套接字不使用使将其关掉,udpSocket.close()
2、从tftp服务器上下载文件:
服务器的69端口只接受下载请求,确认包都要在随机端口中确认。
需要满足tftp协议
a、创建一个空文件
b、向文件中写入数据
c、关闭
向服务器上上传文件:
f=open("1.jpg",'bw') //加上b,代表二进制形式
把数据发送给别人,自己就是服务器;别人要发送数据,别人就是服务器; 服务器----发送数据
过程:
TFTP服