当前位置: 首页 > news >正文

tftp协议笔记

一、tftp协议

        Trivial File Transfer Protocol,简单文件传输协议,是一个用来在客户机与服务器之间进行简单文件传输的协议,端口号为69。

        这里就不再赘述,网上有很多相关介绍,如下:

           TFTP是什么,一文带你了解-CSDN博客

        [软件工程]—TFTP协议简要解析-CSDN博客

二、网上找到的tftp协议开源工具库

  • tftpd
    • 优势:目前使用最常用、功能最全
    • 劣势:功能复杂,开源但未对外提供tftp协议接口
    • 下载链接:phjounin / tftpd64 — Bitbucket
  • tftpserver
    • 优势:纯c语言实现,代码量小
    • 劣势:
      • 无法在windows直接编译,需要交叉编译
      • 网络延时大时有异常
    • 下载链接:crossbowerbt/tftpserver: A simple tftp server, in C
  • libtftp
    • 优势:Qt实现,已实现client\server
    • 劣势:使用Qt3实现,作者申明已过时,并可能无法编译通过
    • 下载链接:Flameeyes/libtftp: TFTP client and server library for Qt3
  • Qtftp
    • 优势:Qt5实现,在libtftp的基础上移植重写
    • 劣势:只实现了server端
    • 下载链接:wdobbe/Qtftp: A library implementing TFTP server library using only the Qt library.
  • 总结
    • 由于目前只需要TFTP服务端,且在windows下使用qt开发,故选用Qtftp

三、Qtftp编译

  • 打开doc/how_to_build.txt,参考如何编译
  • 下载安装cmake
  • 进入源码目录,创建build
  • 执行cmake指令
cmake -G"Visual Studio 16 2019 Win64" .. -DQT_PREFIX:Path=C:\Qt\Qt5.15\5.15.2\msvc2019_64msbuild qtftp.sln /p:Configuration=Release
  • 生成sln工程文件,使用vs打开编译
  • 有几处无法编译通过,根据错误提示修改即可
    • 该工程无法直接导出lib,可将Qtftp库工程修改成exe工程将main.cpp导入一起编译调试

   总结:这样编译很麻烦,可新建个工程,将lib下的include/src文件拷贝到新工程编译更方便。


http://www.mrgr.cn/news/64354.html

相关文章:

  • 日常进度嘞(可
  • IIC
  • 机房布局.
  • uniapp-vue3比对筛选
  • 零基础学习Java AI Spring AI
  • LinkedList 源码分析
  • 【C++刷题】力扣-#643-子数组最大平均数I
  • 堆的实现--数据结构
  • 重装linux系统
  • 网页自动化测试和爬虫:Selenium库入门与进阶
  • C语言中的希尔排序
  • 大厂面试真题-如果使用guava limiter实现实例级别的缓存
  • JSP ft06 问题几个求解思路整理
  • 我国在AI领域的发展趋势
  • 【springcloud】服务之间调用失败的重试机制
  • 微服务架构面试内容整理-微服务架构的定义及优势
  • C++ --- 多线程的使用
  • 《程序内存需求估算:职场中的“暗礁”与“灯塔”》
  • 网络通信与并发编程(九)asyncio
  • 【ReactPress】一款基于React的开源博客CMS内容管理平台—ReactPress
  • Python Turtle模块详解与使用教程
  • ITK-膨胀
  • ‌频率和波长之间存在反比关系‌
  • 算法妙妙屋-------1.递归的深邃回响:C++ 算法世界的优雅之旅
  • (八)JavaWeb后端开发——Tomcat
  • 超好用的视频剪辑软件分享:10款剪辑软件推荐