Google 致力于为黑人社区推动种族平等。查看具体行动

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 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源