从 lwIP-2.0.0 开始,lwIP 开发者将一些核心应用从 contrib 仓库移动到 lwIP 仓库的 src/apps 文件夹。
对比版本 lwIP-1.4.1 和 lwIP-2.1.2 的 src 文件夹内容,可以发现 lwIP 2.1.2 版本多了一个 apps 文件夹。

最开始,也就是 2015 年 10 月 8 日,apps 文件夹下只有一个应用 sntp 客户端,这是一个简单网络时间协议,可以实现与授时服务器对时的功能。
在 lwIP 1.4.1 版本时,sntp 客户端还位于 contrib-1.4.1\apps 文件夹下。
新版本的 sntp 客户端程序有了少许升级:新的版本通过配置可以使用到 2104 年,而 lwIP 1.4.1 版本只能使用到 2036 年 2 月 7 日。
一天之后,也就是 10 月 9 日,Simon Goldschmidt 为 APP 头文件指定了规则:必须有一个 xxx.h 和一个可选的 xxx_opts.h 。比如 sntp 应用就有一个 sntp.h 和一个 sntp_opts.h 头文件。这是模块程序的惯用套路,xxx_opts.h 文件用于保存模块的默认配置,如果默认配置不能满足用户的需求,可以在 lwipops.h 中定义同名宏来覆盖默认配置。
还是在这一天,apps 文件夹下添加了 lwiperf 应用。这是一个简单的性能测试客户端/服务器,配合上位机软件 iPerf2 可测试运行 lwIP 设备的最大传输速度和带宽。目前仅能测试 TCP 。
还是在这一天,apps 文件夹下添加了 netbiosns 应用。这是NetBIOS 名称服务器的示例实现。
2015年11月13日,apps 文件夹下添加了 SNMP 应用。在这之前, SNMP 都是内核的一部分(路径 lwip-1.4.1\src\core\snmp),现在 Dirk Ziegelmeier 将它彻底地从内核剥离出来,成为一个应用。
2015 年 11 月 16 日,apps 文件夹下添加了 http 应用。之前位于contrib-1.4.1\apps文件夹下。
2016 年 8 月 14 日,apps 文件夹下添加了 mNDS 应用。
2016 年 10 月 3 日,apps 文件夹下添加了 tftp 服务器应用。
2016 年 12 月 20 日, apps 文件夹下添加了 MQTT 客户端应用。
2017 年 3 月 23 日, apps 文件夹下添加了 altcp_tls 应用,这个应用需要 mbedtls 库,可以实现 tcp 安全连接(通过加密)。
2017 年 3 月 29 日, apps 文件夹下添加了 smtp 客户端应用。之前位于contrib-1.4.1\apps文件夹下。
今天是 2023 年 5 月,lwIP 仍没有更新 apps 内容。



















