uip
源**可以從
uip的原始碼目錄結構:
目錄是一些應用層的協議和例項,
doc目錄是文件,
lib目錄下有記憶體塊管理函式,
uip下
uip協議棧的源**,
unix
下是unix
環境裡的
uip應用例子。
研究unix
下的**可以知道
uip是如何使用的,關鍵是理解
uip協議棧的主控制迴圈。
int main(void) }
//如果收到的是
arp資料,呼叫
uip_arp_arpin
處理else if(buf->type == htons(uip_ethtype_arp))
} }
//檢視0.5s
是否到了,呼叫
uip_periodic
處理tcp
超時程式
else if(timer_expired(&periodic_timer))
} #if uip_udp
//處理
udp超時程式
for(i = 0; i < uip_udp_conns; i++)
} #endif /* uip_udp */
/* 10s
到了就處理
arp*/
if(timer_expired(&arp_timer))
} }
return 0; }
uip協議棧學習(二)
uip的記憶體管理方法 記憶體管理的實現在memb.c memb.h裡。這兩個檔案負責 uip的記憶體塊的管理,記憶體塊是由 memb 巨集宣告。記憶體從宣告的記憶體塊裡用 memb alloc 分配,用 memb free 釋放。因為命名空間的衝突,每個 c模組只能有乙個 memb 巨集宣告。先看...
UIP協議棧筆記 一
uip協議多用於嵌入式產品。結合如cp2200晶元的網絡卡晶元,組成嵌入式網絡卡,硬體提供能力,uip提供的是策略。由上往下逐步封裝使用者的資料,如 應用層 傳輸層 網路層 資料鏈路層 物理層 應用資料 tcp封裝頭部 ip封裝頭部 mac封裝 尾部 傳送 任何的事物需要經過一定的初始階段,在uip...
uIP協議棧分析
uip特性 由於uip協議棧專門為嵌進式系統而設計,因此還具有如下優越功能 1 非常少,其協議棧 不到6k,很方便閱讀和移植。2 占用的記憶體數非常少,ram占用僅幾百位元組。3 其硬體處理層 協議棧層和應用層共用乙個全域性快取區,不存在資料的拷貝,且傳送和接收都是依靠這個快取區,極大的節省空間和時...