LWIP的底層結構 - 免費下載

技術資料資源 文件大小:3286 K

?? 資源詳細信息

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

?? 溫馨提示:本資源由用戶 aben 上傳分享,僅供學習交流使用。如有侵權,請聯系我們刪除。

資源簡介

Lwip協議棧的實現目的,無非是要上層用來實現app的socket編程。好,我們就從socket開始。為了兼容性,lwip的socket應該也是提供標準的socket接口函數,恩,沒錯,在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)

好,這個結構先不管它,接著看下get socket函數的實現【也是在src\api\socket.c文件中】,在這里我們看到這樣一條語句sock =&sockets[s];很明顯,返回值也是這個sock它是根據傳進來的序列號在sockets數組中找到對應的元素并返回該元素的地址。好了,那么這個sockets數組是在哪里被賦值了這些元素的呢?

進行到這里似乎應該從標準的socket編程的開始,也就是socket函數講起,那我們就順便看一下。它對應的實際實現是下面這個函數

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

這個函數根據不同的協議類型,也就是函數中的type參數,創建了一個netconn結構體的指針,接著就是用這個指針作為參數調用了alloc socket函數,下面具體看下這個函數的實現


立即下載此資源

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

資源說明

?? 下載說明

  • 下載需消耗 2積分
  • 24小時內重復下載不扣分
  • 支持斷點續傳
  • 資源永久有效

?? 使用說明

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

?? 積分獲取

  • 上傳資源獲得積分
  • 每日簽到免費領取
  • 邀請好友注冊獎勵
  • 查看詳情 →

相關標簽

點擊標簽查看更多相關資源:

相關資源推薦