网络编程的进阶1------------tftp协议

我们在学完网络编程TCP/UDP客户端,服务端之后可能就觉得网络编程差不多就那样了,的确如此,其他知识都从这些基本的知识扩展开来的,我们现在就去学习基于这些扩展的知识---------tftp协议

什么是tftp协议?
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议。和使用TCP的文件传输协议(FTP)不同,为了保持简单短小

FTP协议在日常生活中我们用的还是比较多的,用来传输大文件,而tftp功能是类似的,也是用来出传输文件的,它与tftp协议的区别是复杂与简单,传输文件的大小之分。

特点:
1、简单
2、占用资源小
3、适合传递小文件
4、适合在局域网进行传递
5、端口号为69
6、基于UDP实现

下面是tftp协议的通信过程
在这里插入图片描述
1.首先由客户端发起请求,读或者写
2.tftp服务端收到请求之后发送文件给客户端(注意,每次传输的文件最多位512个字节,所以可以判断最后一次客户端接收的数据是小于512字节的)
3.客户端收到数据之后要给客户端发送一个ack,表示数据接收无误

之后的步骤重复2,3步骤,如果有错误可以在服务端发送过来的数据包中读取到,操作码为5

操作码如下
在这里插入图片描述
TFTP数据包格式如下:
在这里插入图片描述
完整的源码资源在这里 源码链接

参考吴祖洋先生的代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值