microLite裸机系统07 | microLite裸机系统之文件传输(nctp)


nctp协议(No Concurrent Transfer Protocol,即非并发传输协议) ,是一种处于应用层的单连接文件传输协议。nctp基于lwip协议底层回调(callback)的raw API进行开发,用于在网络上传输文件。


什么是“单连接文件传输”

microLite裸机系统上实现的是nctp服务器,PC端为客户端。

nctp协议仅支持单个客户端与服务器之间进行单连接文件传输。文件传输完毕后,服务器主动关闭该连接。

若PC端nctp客户端申请多个连接(如文件并发传输等),nctp服务器会仅仅执行一个连接,主动关闭掉多余连接。


为什么要设计成“单连接文件传输”

设计为单连接文件传输主要基于两个方面考虑:

  1. 因为microLite作为裸机系统,轮询执行各个任务,并发多连接传输并不能显著提升文件传输速度;
  2. 为了加快文件传输速度,会建立多级缓冲区,因此文件并发传输会耗费更多内存,这会导致硬件成本增加,另外频繁的申请和释放内存也会导致软件复杂度的增加。

nctp协议简述

nctp协议是类FTP协议,命令和控制采用独立连接。

nctp客户端支持文件目录显示、上传文件、下载文件等操作。nctp服务器内置下载多级缓冲区,因此下载文件速度较快。为节省内存且考虑到sd卡写入速度较慢,nctp服务器未内置上传多级缓冲区,因此上传文件速度较慢。

nctp协议仅支持passive模式,这样设计更容易

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值