UDP
此模块包含用于控制 UDP 通信的功能。
摘要
枚举 |
|
---|---|
otNetifIdentifier{
|
枚举 定义 OpenThread 网络接口标识符。 |
类型定义符 |
|
---|---|
otNetifIdentifier
|
typedefenum otNetifIdentifier
定义 OpenThread 网络接口标识符。 |
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)
|
typedefbool(*
此回调允许 OpenThread 为某些 UDP 消息提供特定的处理程序。 |
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)
|
typedefvoid(*
此回调允许 OpenThread 通知应用已收到的 UDP 消息。 |
otUdpReceiver
|
typedefstruct otUdpReceiver
表示 UDP 接收器。 |
otUdpSocket
|
typedefstruct otUdpSocket
表示 UDP 套接字。 |
函数 |
|
---|---|
otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
|
添加 UDP 接收器。
|
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
|
绑定 UDP/IPv6 套接字。
|
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
|
关闭 UDP/IPv6 套接字。
|
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
|
连接 UDP/IPv6 套接字。
|
otUdpGetSockets(otInstance *aInstance)
|
获取 UDP 套接字链接列表的头。
|
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
|
bool
检查 UDP 套接字是否已打开。
|
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
分配用于发送 UDP 消息的新消息缓冲区。
|
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
|
打开 UDP/IPv6 套接字。
|
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
|
移除 UDP 接收器。
|
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
|
发送 UDP/IPv6 消息。
|
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
|
发送没有套接字的 UDP 消息。
|
结构体 |
|
---|---|
otUdpReceiver |
表示 UDP 接收器。 |
otUdpSocket |
表示 UDP 套接字。 |
枚举
otNetifIdentifier
otNetifIdentifier
定义 OpenThread 网络接口标识符。
属性 | |
---|---|
OT_NETIF_BACKBONE
|
Backbone 接口。 |
OT_NETIF_THREAD
|
Thread 接口。 |
OT_NETIF_UNSPECIFIED
|
未指定的网络接口。 |
类型定义符
otUdpHandler
bool(* otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)
此回调允许 OpenThread 为某些 UDP 消息提供特定的处理程序。
具体说明 | |||||
---|---|---|---|---|---|
返回值 |
|
otUdpReceive
void(* otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)
此回调允许 OpenThread 通知应用已收到的 UDP 消息。
函数
otUdpAddReceiver
otError otUdpAddReceiver( otInstance *aInstance, otUdpReceiver *aUdpReceiver )
添加 UDP 接收器。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otUdpBind
otError otUdpBind( otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif )
绑定 UDP/IPv6 套接字。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otUdpClose
otError otUdpClose( otInstance *aInstance, otUdpSocket *aSocket )
关闭 UDP/IPv6 套接字。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otUdpConnect
otError otUdpConnect( otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName )
连接 UDP/IPv6 套接字。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otUdpGetSockets
otUdpSocket * otUdpGetSockets( otInstance *aInstance )
获取 UDP 套接字链接列表的头。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
指向 UDP 套接字链接列表头部的指针。
|
otUdpIsOpen
bool otUdpIsOpen( otInstance *aInstance, const otUdpSocket *aSocket )
检查 UDP 套接字是否已打开。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
UDP 套接字是否开启。
|
otUdpNewMessage
otMessage * otUdpNewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
分配用于发送 UDP 消息的新消息缓冲区。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向消息缓冲区的指针,如果没有可用的消息缓冲区或参数无效,则为 NULL。
|
otMessageFree
otUdpOpen
otError otUdpOpen( otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext )
打开 UDP/IPv6 套接字。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otUdpRemoveReceiver
otError otUdpRemoveReceiver( otInstance *aInstance, otUdpReceiver *aUdpReceiver )
移除 UDP 接收器。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otUdpSend
otError otUdpSend( otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo )
发送 UDP/IPv6 消息。
如果返回值为 OT_ERROR_NONE,则 OpenThread 将获得 aMessage
的所有权,并且调用方不应再引用 aMessage
。如果返回值不是 OT_ERROR_NONE,调用方会保留 aMessage
的所有权,包括在不再需要消息缓冲区时释放 aMessage
。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
具体说明 | |||||||
---|---|---|---|---|---|---|---|
返回值 |
|
otUdpSendDatagram
otError otUdpSendDatagram( otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo )
发送没有套接字的 UDP 消息。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
资源
OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。