网络编程小项目-tftp下载

tftp下载模型

网络编程小项目-tftp下载_第1张图片

TFTP通信过程总结

  1. 服务器在69号端口等待客户端的请求
  2. 服务器若批准此请求,则使用 临时端口 与客户端进行通信。
  3. 每个数据包的编号都有变化(从1开始)
  4. 每个数据包都要得到ACK的确认,如果出现超时,则需要重新发送最后的数据包或ACK包
  5. 数据长度以512Byte传输的,小于512Byte的数据意味着数据传输结束。

tftp协议分析

网络编程小项目-tftp下载_第2张图片

思路:(两个关键难点)

1,发送下载请求组请求数据包

依据第1条协议要求以数组的形式将请求数据包组出来(通过偏移指针)

2,ACK应答包的发送

将数据包首地址指针向后偏移4个字节,后面的数据内容写入文件。前4个字节和ACK包的格式是一样的,可以直接通过指针操作数组,将操作码改为04就可以了。

下载程序:

网络编程小项目-tftp下载_第3张图片

 

运行结果:

网络编程小项目-tftp下载_第4张图片

 

你可能感兴趣的:(网络,服务器)