基于嵌入式TCP/IP軟件體系結(jié)構(gòu)的優(yōu)化設(shè)計與實現(xiàn)(06-100)
輸入時,Timer()函數(shù)調(diào)用每個接口的Input函數(shù)。IP層判斷IP版本、IP校驗和、判斷是否應(yīng)該轉(zhuǎn)發(fā)數(shù)據(jù)包,然后根據(jù)IP頭部的protocol字段將包傳給相應(yīng)的高層處理。TCP層,需要判斷TCP校驗和,然后在現(xiàn)有的套接字中查找,判斷是否有套接字可以接收這個數(shù)據(jù)包,判斷TCP序號是否為希望的,然后更新這個連接的狀態(tài)(包括釋放被應(yīng)答的數(shù)據(jù)包和TCP狀態(tài)機的轉(zhuǎn)化等),調(diào)用該套接字的回調(diào)函數(shù)recv。
本文引用地址:http://www.ex-cimer.com/article/81179.htm 圖2程序主流程是一個大循環(huán),在循環(huán)中處理發(fā)送數(shù)據(jù)包等應(yīng)用層協(xié)議同時查詢變量bTimeOut,在定時中斷中將bTimerOut設(shè)置為真,應(yīng)用層在程序流程中反復(fù)查詢bTimerOut是否為真,真則調(diào)用Timer(),然后置bTimerOut為假。
嵌入式TCP/IP設(shè)計優(yōu)化
因為網(wǎng)絡(luò)中數(shù)據(jù)非常多,如果把所有的數(shù)據(jù)都讀到內(nèi)存中再判斷是否應(yīng)該丟棄幀顯然效率不高。所以邊讀取數(shù)據(jù)邊判斷而沒有一開始就把整個幀全部讀到內(nèi)存中,同時在程序里定義幀中各個部分的相對地址,可以方便的對幀的各個字節(jié)尋址。這樣的設(shè)計是基于提高訪問速度考慮的。
tcp/ip相關(guān)文章:tcp/ip是什么
評論