<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                本書以LwIP 2. 1.2為主要對象進行講解,后續中出現的LwIP如果沒有特殊聲明,均指2.1.2版本。此時的LwIP 2. 1.2為最新版本,可能當這本書寫完的時候,LwIP又被更新了,對于學習而言,大家其實不必糾結于是否必須用最新的版本,因為2.1.2版本和它后面的版本在移植和應用方法上并沒有什么區別。 LwIP全名:Light weight IP,意思是輕量化的TCP/IP協議,是瑞典計算機科學院(SICS)的Adam Dunkels 開發的一個小型開源的TCP/IP協議棧。LwIP的設計初衷是:用少量的資源消耗實現一個較為完整的TCP/IP協議棧,其中“完整”主要指的是TCP協議的完整性,實現的重點是在保持TCP協議主要功能的基礎上減少對RAM 的占用。此外LwIP既可以移植到操作系統上運行,也可以在無操作系統的情況下獨立運行。 LwIP具有主要特性: 1. 支持ARP協議(以太網地址解析協議)。 2. 支持ICMP協議(控制報文協議),用于網絡的調試與維護。 3. 支持IGMP協議(互聯網組管理協議),可以實現多播數據的接收。 4. 支持UDP協議(用戶數據報協議)。 5. 支持TCP協議(傳輸控制協議),包括阻塞控制、RTT 估算、快速恢復和快速轉發。 6. 支持PPP協議(點對點通信協議),支持PPPoE。 7. 支持DNS(域名解析)。 8. 支持DHCP協議,動態分配IP地址。 9. 支持IP協議,包括IPv4、IPv6協議,支持IP分片與重裝功能,多網絡接口下的數據包轉發。 10. 支持SNMP協議(簡單網絡管理協議)。 11. 支持AUTOIP,自動IP地址配置。 12. 提供專門的內部回調接口(Raw API),用于提高應用程序性能。 13. 提供可選擇的Berkeley接口API,即 Socket套接字 (在多線程情況下使用) 。 LwIP在嵌入式中使用有以下優點: 1. 資源開銷低,即輕量化。LwIP內核有自己的內存管理策略和數據包管理策略,使得內核處理數據包的效率很高。另外,LwIP高度可剪裁,一切不需要的功能都可以通過宏編譯選項去掉。LwIP的流暢運行需要40KB的代碼ROM和幾十KB的RAM,這讓它非常適合用在內存資源受限的嵌入式設備中。 2. 所支持的協議較為完整。幾乎支持TCP/IP中所有常見的協議,這在嵌入式設備中早已夠用。 3. 實現了一些常見的應用程序:DHCP客戶端、DNS客戶端、HTTP服務器、MQTT客戶端、TFTP服務器、SNTP客戶端等等。 4. 同時提供了三種編程接口:RAW API、NETCONN API(注:NETCONN API即為Sequential API,為了統一,下文均采用NETCONN API)和Socket API。這三種API的執行效率、易用性、可移植性以及時空間的開銷各不相同,用戶可以根據實際需要,平衡利弊,選擇合適的API進行網絡應用程序的開發。 5. 高度可移植。其源代碼全部用C實現,用戶可以很方便地實現跨處理器、跨編譯器的移植。另外,它對內核中會使用到操作系統功能的地方進行了抽象,使用了一套自定義的API,用戶可以通過自己實現這些API,從而實現跨操作系統的移植工作。 6. 開源、免費,用戶可以不用承擔任何商業風險地使用它。 7. 相比于嵌入式領域其它的TCP/IP協議棧,比如uC-TCP/IP、FreeRTOS-TCP等,LwIP的發展歷史要更悠久一些,得到了更多的驗證和測試。LwIP被廣泛用在嵌入式網絡設備中,國內一些物聯網公司推出的物聯網操作系統,其TCP/IP核心就是LwIP;物聯網知名的WiFi模塊ESP8266,其TCP/IP固件,使用的就是LwIP。 LwIP盡管有如此多的優點,但它畢竟是為嵌入式而生,所以并沒有很完整地實現TCP/IP協議棧。相比于Linux和Windows系統自帶的TCP/IP協議棧,LwIP的功能不算完整和強大。但對于大多數物聯網領域的網絡應用程序,LwIP已經足夠了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看