【導(dǎo)讀】首先說明一下,這篇文檔的主要目的是提取網(wǎng)絡(luò)發(fā)送和接收數(shù)據(jù)的函數(shù)接口。們自己的驅(qū)動網(wǎng)卡的接口函數(shù)替代程序中的接口??梢蕴^第一、二、三章,直接閱讀第四章,使用我們的接口代替第四章的接口就行了。傳統(tǒng)的,或者說是典型的TCP/IP協(xié)議族的設(shè)計(jì)都是按照分層的思想來設(shè)計(jì)的。樣設(shè)計(jì)有個好處,就是每層相對于其他層獨(dú)立,代碼方便理解。缺點(diǎn)就是,每層之間進(jìn)行數(shù)。據(jù)交互的時候必須要進(jìn)行復(fù)制,而數(shù)據(jù)的復(fù)制是很耗時的,這就降低了實(shí)時性。LWIP各層之間沒有明顯的界限,各層之間都??梢栽L問到共享在內(nèi)存中的數(shù)據(jù)。產(chǎn)生的性能損失。而這些模塊就共同組成了LWIP整體。下面一章將分析LWIP. 的源碼,結(jié)合源碼介紹這些模塊。TCP協(xié)議在LWIP協(xié)議棧中占得比例最大,有將近一半的代碼是。專門用來實(shí)現(xiàn)TCP協(xié)議的。并且無線音頻項(xiàng)目采用的也是TCP. 應(yīng)用層主要是使用LWIP協(xié)議棧開發(fā)相應(yīng)的網(wǎng)絡(luò)通信程序。三種接口分別為RAWAPI,NetconnAPI和BSDSocketAP。應(yīng)用程序與LWIP協(xié)議棧處在同一個進(jìn)程中。