UDP

Dieses Modul enthält Funktionen zur Steuerung der UDP-Kommunikation.

Zusammenfassung

Aufzählungen

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Definiert die OpenThread-Netzwerkschnittstellenkennungen.

Typedefs

otNetifIdentifier typedef
Definiert die OpenThread-Netzwerkschnittstellenkennungen.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
Mit diesem Callback kann OpenThread bestimmte Handler für bestimmte UDP-Nachrichten bereitstellen.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Dieser Callback ermöglicht OpenThread, die Anwendung über eine empfangene UDP-Nachricht zu informieren.
otUdpReceiver typedef
struct otUdpReceiver
Stellt einen UDP-Empfänger dar.
otUdpSocket typedef
struct otUdpSocket
Stellt einen UDP-Socket dar.

Funktionen

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Fügt einen UDP-Empfänger hinzu.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
Binden Sie einen UDP/IPv6-Socket.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
Schließen Sie einen UDP/IPv6-Socket.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Schließen Sie einen UDP/IPv6-Socket an.
otUdpGetSockets(otInstance *aInstance)
Ruft den Kopf der verknüpften Liste von UDP-Sockets ab.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
Prüfen Sie, ob ein UDP-Socket geöffnet ist.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Weisen Sie einen neuen Nachrichtenpuffer zum Senden einer UDP-Nachricht zu.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Öffnen Sie einen UDP/IPv6-Socket.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Entfernt einen UDP-Empfänger.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Senden Sie eine UDP/IPv6-Nachricht.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Sendet eine UDP-Nachricht ohne Socket.

Strukturen

otUdpReceiver

Stellt einen UDP-Empfänger dar.

otUdpSocket

Stellt einen UDP-Socket dar.

Aufzählungen

otNetifIdentifier

 otNetifIdentifier

Definiert die OpenThread-Netzwerkschnittstellenkennungen.

Attribute
OT_NETIF_BACKBONE

Die Backbone-Schnittstelle.

OT_NETIF_THREAD

Die Thread-Oberfläche

OT_NETIF_UNSPECIFIED

Nicht angegebene Netzwerkschnittstelle.

Typedefs

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Definiert die OpenThread-Netzwerkschnittstellenkennungen.

otUdpHandler

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

Mit diesem Callback kann OpenThread bestimmte Handler für bestimmte UDP-Nachrichten bereitstellen.

Details
Rückgabewerte
true
Die Nachricht wird von diesem Empfänger verarbeitet und sollte nicht weiter verarbeitet werden.
false
Die Nachricht wird von diesem Empfänger nicht verarbeitet.

otUdpReceive

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

Dieser Callback ermöglicht OpenThread, die Anwendung über eine empfangene UDP-Nachricht zu informieren.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

Stellt einen UDP-Empfänger dar.

otUdpSocket

struct otUdpSocket otUdpSocket

Stellt einen UDP-Socket dar.

Funktionen

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Fügt einen UDP-Empfänger hinzu.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aUdpReceiver
Ein Zeiger auf den UDP-Empfänger.
Rückgabewerte
OT_ERROR_NONE
Der Empfänger wurde hinzugefügt.
OT_ERROR_ALREADY
Der UDP-Empfänger wurde bereits hinzugefügt.

otUdpBind

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

Binden Sie einen UDP/IPv6-Socket.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSocket
Ein Zeiger auf eine UDP-Socket-Struktur.
[in] aSockName
Ein Zeiger auf eine IPv6-Socket-Adressstruktur.
[in] aNetif
Die zu bindende Netzwerkschnittstelle.
Rückgabewerte
OT_ERROR_NONE
Bindung war erfolgreich.
OT_ERROR_FAILED
UDP-Socket konnte nicht gebunden werden.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Schließen Sie einen UDP/IPv6-Socket.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSocket
Ein Zeiger auf eine UDP-Socket-Struktur.
Rückgabewerte
OT_ERROR_NONE
Socket wurde geschlossen.
OT_ERROR_FAILED
UDP-Socket konnte nicht geschlossen werden.

otUdpConnect

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

Schließen Sie einen UDP/IPv6-Socket an.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSocket
Ein Zeiger auf eine UDP-Socket-Struktur.
[in] aSockName
Ein Zeiger auf eine IPv6-Socket-Adressstruktur.
Rückgabewerte
OT_ERROR_NONE
Verbindungsvorgang war erfolgreich.
OT_ERROR_FAILED
UDP-Socket konnte nicht verbunden werden.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Ruft den Kopf der verknüpften Liste von UDP-Sockets ab.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabe
Ein Zeiger auf den Kopf der Liste mit UDP-Socket-Verknüpfungen.

otUdpIsOpen

bool otUdpIsOpen(
  otInstance *aInstance,
  const otUdpSocket *aSocket
)

Prüfen Sie, ob ein UDP-Socket geöffnet ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSocket
Ein Zeiger auf eine UDP-Socket-Struktur.
Rückgabe
Gibt an, ob der UDP-Socket offen ist.

otUdpNewMessage

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

Weisen Sie einen neuen Nachrichtenpuffer zum Senden einer UDP-Nachricht zu.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSettings
Ein Zeiger auf die Nachrichteneinstellungen oder NULL, um die Standardeinstellungen zu verwenden.
Rückgabe
Ein Zeiger auf den Nachrichtenpuffer oder NULL, wenn keine Nachrichtenpuffer verfügbar sind oder Parameter ungültig sind.
Weitere Informationen:
otMessageFree

otUdpOpen

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

Öffnen Sie einen UDP/IPv6-Socket.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSocket
Ein Zeiger auf eine UDP-Socket-Struktur.
[in] aCallback
Ein Zeiger auf die Callback-Funktion der Anwendung.
[in] aContext
Ein Zeiger auf einen anwendungsspezifischen Kontext.
Rückgabewerte
OT_ERROR_NONE
Socket wurde geöffnet.
OT_ERROR_FAILED
Der Socket konnte nicht geöffnet werden.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Entfernt einen UDP-Empfänger.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aUdpReceiver
Ein Zeiger auf den UDP-Empfänger.
Rückgabewerte
OT_ERROR_NONE
Der Empfänger wurde entfernt.
OT_ERROR_NOT_FOUND
Der UDP-Empfänger wurde nicht hinzugefügt.

otUdpSend

otError otUdpSend(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Senden Sie eine UDP/IPv6-Nachricht.

Wenn der Rückgabewert OT_ERROR_NONE lautet, übernimmt OpenThread die Inhaberschaft von aMessage und der Aufrufer sollte nicht mehr auf aMessage verweisen. Wenn der Rückgabewert nicht OT_ERROR_NONE ist, behält der Aufrufer die Inhaberschaft von aMessage und gibt aMessage frei, wenn der Nachrichtenpuffer nicht mehr benötigt wird.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aSocket
Ein Zeiger auf eine UDP-Socket-Struktur.
[in] aMessage
Ein Zeiger auf einen Nachrichtenpuffer.
[in] aMessageInfo
Ein Zeiger auf eine Nachrichten-Infostruktur.

Details
Rückgabewerte
OT_ERROR_NONE
Das Senden der Nachricht wurde geplant.
OT_ERROR_INVALID_ARGS
Ungültige Argumente werden angegeben.
OT_ERROR_NO_BUFS
Nicht genügend Puffer zum Hinzufügen der UDP- und IPv6-Header.

otUdpSendDatagram

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

Sendet eine UDP-Nachricht ohne Socket.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf eine Nachricht ohne UDP-Header.
[in] aMessageInfo
Ein Zeiger auf Nachrichteninformationen, die mit aMessage verknüpft sind.
Rückgabewerte
OT_ERROR_NONE
Die Nachricht wurde erfolgreich in eine Ausgabeschnittstelle aufgenommen.
OT_ERROR_NO_BUFS
Der verfügbare Puffer reicht nicht aus, um die IPv6-Header hinzuzufügen.
OT_ERROR_INVALID_ARGS
Ungültige Argumente werden angegeben.

Ressourcen

OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.