最后更新:2022-07-22 01:25:36 手机定位技术交流文章
参考文献:TCP/IP Stack Lwip的设计与实现:五年历史的红龙博客 - CSDN Blog
目录
16.网络连接函数
16.0.14 netconn_new()
16.0.15 netconn_delete()
16.0.16 netconn_type()
16.0.17 netconn_peer()
16.0.18 netconn_addr()
16.0.19 netconn_bind()
16.0.20 netconn_connect()
16.0.21 netconn_listen()
16.0.22 netconn_accept()
16.0.23 netconn_recv()
16.0.24 netconn_write()
16.0.25 netconn_send()
16.0.26 netconn_close()
函数原型:
函数说明:
创建一个新的连接的抽象数据结构。参数可以是NETCONN_TCP或者NETCONN_UDP之一,相应的就为一个TCP连接或一个UDP连接。通过调用该函数没有连接建立也没有数据通过该网络发送。
函数原型:
函数说明:
释放netconn conn。 如果连接打开,函数的调用也将关闭它。
函数原型:
函数说明:
返回连接conn的类型。此类型与netconn_new, netconn_TCP或 netconn_UDP中的参数类型相同。
函数原型:
函数说明:
函数netconn_peer()被用来获得一个连接的远程终端的IP地址和端口。参数addr和port是结果参数,它由函数来设定。如果连接conn没有连到任何远程主机,则结果就是不确定的。
函数原型:
函数说明:
该函数用于获取连接konn的本地IP地址和端口号码。
函数原型:
函数说明:
绑定连接konn到本地IP地址添加器和TCP或UDP端口端口。 如果添加器是NULL,则本地IP地址由网络系统确定。
函数原型:
函数说明:
在为UDP的情况下,使用通过连接发送的UDP消息的remote_addr和remote_port来设置远程接收者。对于TCP,netconn_connect()打开一个与远程主机的连接。
函数原型:
函数说明:
设置TCP连接konn到TCP LISTEN状态。
函数原型:
函数说明:
在远程主机上的连接请求到达TCP连接konn之前,该过程被封锁。连接必须在LISTEN状态下,因此,netconn_listen()必须在netconn_accept()之前调用。当与远程主机建立连接时,返回一个新的连接结构。
使用举例:
这个例子显示如何在200 port上打开一个TCP服务
函数原型:
函数说明:
阻塞进程直到等待的数据到达链路conn。如果连接已经被远程主机关闭了,就返回NULL,否则,一个包含有接收到的数据的netbuf就被返回。
使用举例:
这是一个使用netconn_recv函数的小例子,我们假设连接已经建立。
函数原型:
函数说明:
此功能仅用于TCP连接。它将数据指向数据指针放在TCP连接的输出队列上。数据的长度由参数镜头给出,数据的长度没有限制。该函数不需要应用程序明确分配缓冲区,因为有很多协议可以考虑这些。旗号参数有两个可能的状态,如下:
#define NETCONN_NOCOPY 0x00
#define NETCONN_COPY 0x01
当传输的旗号参数是NETCONN_COPY时,数据被复制到分配给数据的内部缓冲区。这允许在调用后直接修改数据,但它在执行时间和记忆使用方面都无效。如果旗号是NETCONN_NOCOPY,数据不会被复制,而是会被引用。电话后,必须保证数据不会被修改,因为数据可以放在连接的继电器队列上,还有一个不确定的时刻待在那儿。当数据被发送到ROM时,这是非常有用的,因此是不可变的。
如果需要大量基于数据变异的控制,可以使用复制和非复制的数据组合,如下面的例子所示。
使用举例:
这个例子显示了netconn_write()的基本使用。变量数据假设程序更改后,因此,通过传递NETCONN_COPY旗到netconn_write(),它可以被复制到内部缓冲区。变量文本包含一个不需要更改的字符串。因此, 应以参考而不是复制的方式发送.
函数原型:
函数说明:
在UDP连接konn上发送 netbuf buf数据.netbuf的数据不应该太大,因为不使用IP分解。数据不应超过输出网络接口的最大传输单元(MTU)。既然目前没有办法得到这个价值,因此,我们应该采取谨慎的策略,netbuf不应包含超过100字节的数据。
没有检查数据是否足够小,发送非常大的网络错误会导致不确定的结果。
使用举例:
这个例子显示如何将一些UDP数据发送到与IP地址的远程主机UDP700端口
函数原型:
函数说明:
关闭连接conn。
TCP/IP协议栈Lwip的设计与实现:之七_龙赤子的博客-CSDN博客
本文由 在线网速测试 整理编辑,转载请注明出处。