Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

UDP協議

該模塊包括控制UDP通信的功能。

概要

類型定義

otUdpHandler )(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)類型定義
bool(*
此回調允許OpenThread為某些UDP消息提供特定的處理程序。
otUdpReceive )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)類型定義
void(*
此回調允許OpenThread通知應用程序收到的UDP消息。
otUdpReceiver類型定義
此結構表示UDP接收器。
otUdpSocket類型定義
此結構表示UDP套接字。

職能

otUdpAddReceiver ( otInstance *aInstance, otUdpReceiver *aUdpReceiver)
此功能添加了UDP接收器。
otUdpBind ( otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
綁定UDP / IPv6套接字。
otUdpClose ( otInstance *aInstance, otUdpSocket *aSocket)
關閉UDP / IPv6套接字。
otUdpConnect ( otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
連接UDP / IPv6套接字。
otUdpGetSockets ( otInstance *aInstance)
此函數獲取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套接字。

類型定義

otUdpHandler

bool(* otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)

此回調允許OpenThread為某些UDP消息提供特定的處理程序。

細節
返回值
true
該消息由此接收者處理,不應進一步處理。
false
該接收者未處理該消息。

otUdpReceive

void(* otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)

此回調允許OpenThread通知應用程序收到的UDP消息。

otUdpReceiver

struct otUdpReceiver otUdpReceiver

此結構表示UDP接收器。

otUdpSocket

struct otUdpSocket otUdpSocket

此結構表示UDP套接字。

職能

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

此功能添加了UDP接收器。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aUdpReceiver
指向UDP接收器的指針。
返回值
OT_ERROR_NONE
接收器已成功添加。
OT_ERROR_ALREADY
UDP接收器已被添加。

otUdpBind

otError otUdpBind(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName
)

綁定UDP / IPv6套接字。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aSocket
指向UDP套接字結構的指針。
[in] aSockName
指向IPv6套接字地址結構的指針。
返回值
OT_ERROR_NONE
綁定操作成功。
OT_ERROR_FAILED
綁定UDP套接字失敗。

otUdp關閉

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

關閉UDP / IPv6套接字。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aSocket
指向UDP套接字結構的指針。
返回值
OT_ERROR_NONE
成功關閉插座。
OT_ERROR_FAILED
無法關閉UDP套接字。

otUdpConnect

otError otUdpConnect(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName
)

連接UDP / IPv6套接字。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aSocket
指向UDP套接字結構的指針。
[in] aSockName
指向IPv6套接字地址結構的指針。
返回值
OT_ERROR_NONE
連接操作成功。
OT_ERROR_FAILED
連接UDP套接字失敗。

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

此函數獲取UDP套接字的鏈接列表的開頭。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
退貨
指向UDP套接字鏈接列表的頭的指針。

otUdpNewMessage

otMessage * otUdpNewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

分配新的消息緩衝區以發送​​UDP消息。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aSettings
指向消息設置的指針,或者為NULL以使用默認設置。
退貨
指向消息緩衝區的指針;如果沒有可用的消息緩衝區或參數無效,則為NULL。
也可以看看:
otMessageFree

otUdpOpen

otError otUdpOpen(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otUdpReceive aCallback,
  void *aContext
)

打開一個UDP / IPv6套接字。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aSocket
指向UDP套接字結構的指針。
[in] aCallback
指向應用程序回調函數的指針。
[in] aContext
指向特定於應用程序的上下文的指針。
返回值
OT_ERROR_NONE
成功打開插座。
OT_ERROR_FAILED
無法打開插座。

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

此功能刪除UDP接收器。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aUdpReceiver
指向UDP接收器的指針。
返回值
OT_ERROR_NONE
接收器已成功刪除。
OT_ERROR_NOT_FOUND
未添加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所有權。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aSocket
指向UDP套接字結構的指針。
[in] aMessage
指向消息緩衝區的指針。
[in] aMessageInfo
指向消息信息結構的指針。

細節
返回值
OT_ERROR_NONE
該消息已成功安排發送。
OT_ERROR_INVALID_ARGS
給出了無效的參數。
OT_ERROR_NO_BUFS
可用緩衝區不足,無法添加UDP和IPv6標頭。

otUdpSendDatagram

otError otUdpSendDatagram(
  otInstance *aInstance,
  otMessage *aMessage,
  otMessageInfo *aMessageInfo
)

此函數發送不帶套接字的UDP消息。

細節
參量
[in] aInstance
指向OpenThread實例的指針。
[in] aMessage
指向沒有UDP標頭的消息的指針。
[in] aMessageInfo
指向與aMessage關聯的消息信息的指針。
返回值
OT_ERROR_NONE
成功將消息放入輸出接口。
OT_ERROR_NO_BUFS
可用緩衝區不足,無法添加IPv6標頭。