LwIP協議棧介面

2022-05-28 13:51:11 字數 2025 閱讀 4566

協議棧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層進行互動操作,機...