LWIP的底層結(jié)構(gòu) - 免費(fèi)下載

技術(shù)資料資源 文件大小:3286 K

?? 資源詳細(xì)信息

文件格式
PDF
上傳用戶
上傳時(shí)間
文件大小
3286 K
所需積分
2 積分
推薦指數(shù)
??? (3/5)

?? 溫馨提示:本資源由用戶 aben 上傳分享,僅供學(xué)習(xí)交流使用。如有侵權(quán),請(qǐng)聯(lián)系我們刪除。

資源簡(jiǎn)介

Lwip協(xié)議棧的實(shí)現(xiàn)目的,無非是要上層用來實(shí)現(xiàn)app的socket編程。好,我們就從socket開始。為了兼容性,lwip的socket應(yīng)該也是提供標(biāo)準(zhǔn)的socket接口函數(shù),恩,沒錯(cuò),在src\inc lude\lwip\socket.h文件中可以看到下面的宏定義:

#if LWIP COMPAT SOCKETS

#define accept(a,b,c)

Iwip accept(a,b,c)

#define bind(a,b,c)

Iwip bind(a,b,c)

#define shutdown(a,b)

Iwip shutdown(a,b)

#define closesocket(s)

Iwip close(s)

好,這個(gè)結(jié)構(gòu)先不管它,接著看下get socket函數(shù)的實(shí)現(xiàn)【也是在src\api\socket.c文件中】,在這里我們看到這樣一條語句sock =&sockets[s];很明顯,返回值也是這個(gè)sock它是根據(jù)傳進(jìn)來的序列號(hào)在sockets數(shù)組中找到對(duì)應(yīng)的元素并返回該元素的地址。好了,那么這個(gè)sockets數(shù)組是在哪里被賦值了這些元素的呢?

進(jìn)行到這里似乎應(yīng)該從標(biāo)準(zhǔn)的socket編程的開始,也就是socket函數(shù)講起,那我們就順便看一下。它對(duì)應(yīng)的實(shí)際實(shí)現(xiàn)是下面這個(gè)函數(shù)

Int Iwip socket(int domain,int type,int protocol)【src\api\socket.c】

這個(gè)函數(shù)根據(jù)不同的協(xié)議類型,也就是函數(shù)中的type參數(shù),創(chuàng)建了一個(gè)netconn結(jié)構(gòu)體的指針,接著就是用這個(gè)指針作為參數(shù)調(diào)用了alloc socket函數(shù),下面具體看下這個(gè)函數(shù)的實(shí)現(xiàn)


立即下載此資源

提示:下載后請(qǐng)用壓縮軟件解壓,推薦使用 WinRAR 或 7-Zip

資源說明

?? 下載說明

  • 下載需消耗 2積分
  • 24小時(shí)內(nèi)重復(fù)下載不扣分
  • 支持?jǐn)帱c(diǎn)續(xù)傳
  • 資源永久有效

?? 使用說明

  • 下載后用解壓軟件解壓
  • 推薦 WinRAR 或 7-Zip
  • 如有密碼請(qǐng)查看說明
  • 解壓后即可使用

?? 積分獲取

  • 上傳資源獲得積分
  • 每日簽到免費(fèi)領(lǐng)取
  • 邀請(qǐng)好友注冊(cè)獎(jiǎng)勵(lì)
  • 查看詳情 →

相關(guān)標(biāo)簽

點(diǎn)擊標(biāo)簽查看更多相關(guān)資源:

相關(guān)資源推薦