UDP 转发

此模块包含 UDP 转发功能的函数。

摘要

启用 udp-forward 功能 (OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE) 后,即可使用此模块中的函数。

类型定义符

otUdpForwarder)(otMessage *aMessage, uint16_t aPeerPort, otIp6Address *aPeerAddr, uint16_t aSockPort, void *aContext) typedef
void(*
指针将 UDP 数据包传送到主机,主机应通过自己的网络堆栈发送数据包。

函数

otUdpForwardReceive(otInstance *aInstance, otMessage *aMessage, uint16_t aPeerPort, const otIp6Address *aPeerAddr, uint16_t aSockPort)
void
处理从主机收到的 UDP 数据包。
otUdpForwardSetForwarder(otInstance *aInstance, otUdpForwarder aForwarder, void *aContext)
void
设置 UDP 转发回调以将 UDP 数据包传送到主机。
otUdpIsPortInUse(otInstance *aInstance, uint16_t port)
bool
确定指定的 UDP 端口是否专门由 OpenThread API 打开。

类型定义符

otUdpForwarder

void(* otUdpForwarder)(otMessage *aMessage, uint16_t aPeerPort, otIp6Address *aPeerAddr, uint16_t aSockPort, void *aContext)

指针将 UDP 数据包传送到主机,主机应通过自己的网络堆栈发送数据包。

具体说明
参数
[in] aMessage
指向 UDP 消息的指针。
[in] aPeerPort
目标 UDP 端口。
[in] aPeerAddr
指向目标 IPv6 地址的指针。
[in] aSockPort
来源 UDP 端口。
[in] aContext
指向应用特定上下文的指针。

函数

otUdpForwardReceive

void otUdpForwardReceive(
  otInstance *aInstance,
  otMessage *aMessage,
  uint16_t aPeerPort,
  const otIp6Address *aPeerAddr,
  uint16_t aSockPort
)

处理从主机收到的 UDP 数据包。

无论调用成功还是失败,消息都将释放。

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aMessage
指向 UDP 消息的指针。
[in] aPeerPort
来源 UDP 端口。
[in] aPeerAddr
指向源地址的指针。
[in] aSockPort
目标 UDP 端口。

otUdpForwardSetForwarder

void otUdpForwardSetForwarder(
  otInstance *aInstance,
  otUdpForwarder aForwarder,
  void *aContext
)

设置 UDP 转发回调以将 UDP 数据包传送到主机。

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aForwarder
指向调用以将 UDP 数据包转发到主机的函数的指针。
[in] aContext
指向应用特定上下文的指针。

otUdpIsPortInUse

bool otUdpIsPortInUse(
  otInstance *aInstance,
  uint16_t port
)

确定指定的 UDP 端口是否专门由 OpenThread API 打开。

具体说明
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] port
要验证的 UDP 端口号。
返回值
true
该端口专供 OpenThread 使用。
false
该端口未由任何 OpenThread API 使用,也未共享(例如 Backbone 套接字)。

资源

OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源