|
UDP:
智能家居里面?zhèn)鞲衅鞴?jié)點(diǎn)周期性上報狀態(tài)。節(jié)點(diǎn)發(fā)出數(shù)據(jù)后,收到主機(jī)應(yīng)答,ok;沒有收到主機(jī)應(yīng)答,也ok。沒收到就沒收到,下個周期,再繼續(xù)發(fā)出唄。
UDP操作函數(shù):
udp_input();udp_send();udp_output();
TCP:
智能家居中傳感器節(jié)點(diǎn),當(dāng)警情出現(xiàn),上報警情,這個必須告訴主機(jī)知道。發(fā)出一包數(shù)據(jù)后,主機(jī)沒有ack應(yīng)答;好。隨機(jī)延時一段時間,繼續(xù)發(fā)送數(shù)據(jù)包,重復(fù)這個過程N(yùn)次(N預(yù)先設(shè)定),直到主機(jī)有ack應(yīng)答或者超時報錯。
TCP操作函數(shù):
tcp_input();tcp_receive();tcp_output();

UDP處理過程
UDP處理過程是用函數(shù)實現(xiàn)的。
發(fā)送數(shù)據(jù):?
應(yīng)用程序-->send-->output-->route-->output(網(wǎng)口)?
應(yīng)用程序-->send-->output-->output_if-->output(網(wǎng)口)?
接收數(shù)據(jù):?
網(wǎng)卡-->input-->input-->應(yīng)用程序?
正如文件系統(tǒng)實現(xiàn):?
FAT32-->SD函數(shù)-->spi函數(shù)一個意思。各自做各自的事情。
TCP處理過程解析:
TCP處理過程
TCP處理過程也是通過函數(shù)實現(xiàn)的。?
發(fā)送數(shù)據(jù):?
應(yīng)用程序-->write-->enqueue-->output-->route(不奔網(wǎng)口去?)?
應(yīng)用程序-->write-->enqueue-->output-->output_if-->output(網(wǎng)口)?
接收數(shù)據(jù):?
網(wǎng)卡-->input-->input-->process-->receive-->應(yīng)用程序?
TCP跟UDP最大不同呢??
是receive還和output勾勾搭搭,藕斷絲連!這是為什么呢?
前文不是提到了嗎?TCP確保數(shù)據(jù)可靠服務(wù)。有發(fā)送-->應(yīng)答機(jī)制。接收方制約著發(fā)送方。
利用lwip編程,可能就是合理的組織這些函數(shù),完成應(yīng)用層的功能。?
|
|