協議棧api函式
1、netconn_new //udp tcp
struct netconn*netconn_new(enum netconn_type t)
為新連線申請乙個連線結構netconn空間
2、netconn_delete //udp tcp
err_t netconn_delete(struct netconn *conn)
刪除乙個連線結構netconn
3、netconn_getaddr
err_t netconn_getaddr(struct netconn *conn, ip_addr_t *addr, u16_t *port, u8_t local)
獲得乙個連線結構netconn中的源ip位址和源埠號或者目的ip位址和目的埠號,local指明是獲得源位址資訊還是目的位址資訊,當為1時表示本地,即源位址資訊。
4、netconn_bind //udp tcp
err_t netconn_bind(struct netconn *conn, ip_addr_t *addr, u16_t port)
將乙個連線結構與本地ip位址addr(ip_addr_any代表任何乙個網路介面的ip位址)和埠號port進行繫結,作為伺服器端程式,執行這一步的操作是必要的,伺服器必須與熟知埠進行繫結才能接收客戶端的連線請求。
5、netconn_connect
err_t netconn_connect(struct netconn *conn, ip_addr_t *addr, u16_t port)
連線伺服器,它將連線結構與目的ip位址addr和目的埠號port進行繫結,當作為tcp客戶端程式時,呼叫該函式會導致連線握手產生。
6、netconn_disconnect
err_t netconn_disconnect(struct netconn *conn)
只能使用在udp連線中,功能是與伺服器斷開連線,對於udp來說,就是將udp控制塊中的remote_ip和remote_port字段值清除。
7、netconn_listen
函式本質是乙個巨集,其呼叫原型如下
#define netconn_listen(conn) netconn_listen_with_backlog(conn, tcp_default_listen_backlog)
只在tcp的伺服器程式中使用,函式的功能是將連線結構netconn置位偵聽狀態,即將tcp控制塊的狀態設定為listen狀態。
8、netconn_accept
err_t netconn_accept(struct netconn *conn, struct netconn **new_conn)
乙個只用於tcp伺服器程式的函式,伺服器呼叫此函式可以從acceptmbox郵箱中獲得乙個新建立的連線,若郵箱為空,則函式會一直阻塞,直至新連線到來。
9、netconn_recv
err_t netconn_recv(struct netconn *conn, struct netbuf **new_buf);
從連線的recvmbox郵箱中接收資料報,可用於tcp連線,也可用於udp連線。函式會一直阻塞,直至從郵箱中獲得資料訊息,連線資料都封裝在netbuf中。
10、netconn_send
err_t netconn_send(struct netconn *conn, struct netbuf *buf);
用於已經建立的udp連線上(即udp控制塊中記錄了目的ip位址和目的埠號)傳送資料。
11、netconn_write
#define netconn_write(conn, dataptr, size, apiflags) \
netconn_write_partly(conn, dataptr, size, apiflags, null)
用於在穩定的tcp連線上傳送資料。
12、netconn_close
err_t netconn_close(struct netconn *conn);
關閉乙個tcp連線。
LwIP協議棧介面
協議棧api函式 1 netconn new udp tcp struct netconn netconn new enum netconn type t 為新連線申請乙個連線結構netconn空間 2 netconn delete udp tcp err t netconn delete stru...
LWIP架構及LWIP協議棧
1 不管是裸機還是os 都分為三個模組 上層協議棧 包括發資料 收資料下面只考慮收資料在中斷中.os 這三者之間是 通過 mbox 通訊 sem 同步的.這三者分別屬於三個執行緒 其中乙個是中斷 裸機三者之間是通過函式呼叫實現的,這三者在同乙個執行緒內.其中乙個是中斷 2 上層 協議棧 收資料之間的...
lwip協議棧學習 udp
書籍 嵌入式網路那些事 lwip協議 udp協議的優點 1 基於ip協議,無連線的使用者資料報協議,適用於傳送大批量資料,2 實時性比較高,適用於嵌入式網路 udp sendto通過呼叫函式udp sendto if完成報文的組裝和傳送,在呼叫udp sendto if之前,與ip層進行互動操作,機...