LWIP學習之一些細節


一 綁定端口后,開啟監聽,為何監聽還要返回一個新的連接?:監聽狀態的連接只需要很小的內存,於是tcp_listen()就會收回原始連接的
內存,而重新分配一個較小內存塊供處於監聽狀態的連接使用。

tcp_accepted()通知LWIP一個新的連接已被接收,從而讓LWIP去執行一些內務;tcp_accept()當指定的監聽連接接通后調用回調函數

三 err_t tcp_connect():客戶端請求連接遠端主機,並發送最初的SYN端,connect調用后不用等待正確連接建立,是否建立看其返回值。

四 tcp_write:TCP先調用tcp_sndbuf()獲得隊列中的可用字節大小,為0時先等待然后調用write將其放到發送隊列中; tcp_sent:遠程主機收到客戶端的收據后的回傳回調函數; tcp_recv(再調用tcp_recved):新收據接收時調用recv回調函數如果沒有錯誤發生,則回調函數返回ERR_OK,並且
必須釋放掉pbuf結構。否則,如果函數的調用中發生錯誤,那么千萬不要釋放該結構,以便LwIP內核可以保存該結構,從而等待以后處理。

tcp_poll():指定輪訓的時間間隔和回調函數;tcp_close:關閉連接並釋放內存;tcp_abort:中止,通常會有錯誤發生tcp_err被調用。



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM