zoukankan      html  css  js  c++  java
  • 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(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连接。

  • 相关阅读:
    vim字符串替换命令
    Android中View的事件分发机制——Android开发艺术探索笔记
    jQuery源代码框架思路
    C指针——C语言手记
    Python基础二--基本控制语句
    C++中的链式操作
    求一个字串中最长的连续字符串
    C# -- 推断字符能否转化为整形
    Loadrunner检查点使用总结
    LoadRunner设置检查点的几种方法介绍
  • 原文地址:https://www.cnblogs.com/10cm/p/6594923.html
Copyright © 2011-2022 走看看