UDP

Questo modulo include funzioni che controllano la comunicazione UDP.

Riepilogo

Enumerazioni

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Definisce gli identificatori dell'interfaccia di rete OpenThread.

Typedef

otNetifIdentifier typedef
Definisce gli identificatori dell'interfaccia di rete OpenThread.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
Questo callback consente a OpenThread di fornire gestori specifici per determinati messaggi UDP.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Questo callback consente a OpenThread di informare l'applicazione della ricezione di un messaggio UDP ricevuto.
otUdpReceiver typedef
struct otUdpReceiver
Rappresenta un ricevitore UDP.
otUdpSocket typedef
struct otUdpSocket
Rappresenta un socket UDP.

Funzioni

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Aggiunge un ricevitore UDP.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
Associa un socket UDP/IPv6.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
Chiudi un socket UDP/IPv6.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Collega un socket UDP/IPv6.
otUdpGetSockets(otInstance *aInstance)
Restituisce l'intestazione dell'elenco collegato di socket UDP.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
Controlla se un socket UDP è aperto.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Alloca un nuovo buffer dei messaggi per l'invio di un messaggio UDP.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Apri un socket UDP/IPv6.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Rimuove un ricevitore UDP.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Invia un messaggio UDP/IPv6.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Invia un messaggio UDP senza socket.

Strutture

otUdpReceiver

Rappresenta un ricevitore UDP.

otUdpSocket

Rappresenta un socket UDP.

Enumerazioni

otNetifIdentifier

 otNetifIdentifier

Definisce gli identificatori dell'interfaccia di rete OpenThread.

Proprietà
OT_NETIF_BACKBONE

Interfaccia Backbone.

OT_NETIF_THREAD

L'interfaccia di Thread.

OT_NETIF_UNSPECIFIED

Interfaccia di rete non specificata.

Typedef

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Definisce gli identificatori dell'interfaccia di rete OpenThread.

otUdpHandler

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

Questo callback consente a OpenThread di fornire gestori specifici per determinati messaggi UDP.

Dettagli
Valori restituiti
true
Il messaggio viene gestito da questo destinatario e non deve essere ulteriormente elaborato.
false
Il messaggio non è gestito da questo destinatario.

otUdpReceive

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

Questo callback consente a OpenThread di informare l'applicazione della ricezione di un messaggio UDP ricevuto.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

Rappresenta un ricevitore UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

Rappresenta un socket UDP.

Funzioni

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Aggiunge un ricevitore UDP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aUdpReceiver
Un puntatore al ricevitore UDP.
Valori restituiti
OT_ERROR_NONE
Il destinatario è stato aggiunto.
OT_ERROR_ALREADY
Il ricevitore UDP è già stato aggiunto.

otUdpBind

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

Associa un socket UDP/IPv6.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSocket
Un puntatore a una struttura di socket UDP.
[in] aSockName
Un puntatore a una struttura di indirizzi socket IPv6.
[in] aNetif
L'interfaccia di rete da associare.
Valori restituiti
OT_ERROR_NONE
Operazione di associazione riuscita.
OT_ERROR_FAILED
Impossibile associare il socket UDP.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Chiudi un socket UDP/IPv6.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSocket
Un puntatore a una struttura di socket UDP.
Valori restituiti
OT_ERROR_NONE
Il socket è stato chiuso.
OT_ERROR_FAILED
Impossibile chiudere il socket UDP.

otUdpConnect

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

Collega un socket UDP/IPv6.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSocket
Un puntatore a una struttura di socket UDP.
[in] aSockName
Un puntatore a una struttura di indirizzi socket IPv6.
Valori restituiti
OT_ERROR_NONE
Operazione di connessione riuscita.
OT_ERROR_FAILED
Impossibile connettere il socket UDP.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Restituisce l'intestazione dell'elenco collegato di socket UDP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Un puntatore all'intestazione dell'elenco collegato al socket UDP.

otUdpIsOpen

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

Controlla se un socket UDP è aperto.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSocket
Un puntatore a una struttura di socket UDP.
Restituisce
Indica se il socket UDP è aperto.

otUdpNewMessage

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

Alloca un nuovo buffer dei messaggi per l'invio di un messaggio UDP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSettings
Un puntatore alle impostazioni del messaggio o NULL per utilizzare le impostazioni predefinite.
Restituisce
Un puntatore al buffer dei messaggi o NULL se non sono disponibili buffer dei messaggi o se i parametri non sono validi.
Vedi anche:
otMessageFree

otUdpOpen

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

Apri un socket UDP/IPv6.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSocket
Un puntatore a una struttura di socket UDP.
[in] aCallback
Un puntatore alla funzione di callback dell'applicazione.
[in] aContext
Un puntatore al contesto specifico dell'applicazione.
Valori restituiti
OT_ERROR_NONE
Apertura del socket riuscita.
OT_ERROR_FAILED
Impossibile aprire il socket.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Rimuove un ricevitore UDP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aUdpReceiver
Un puntatore al ricevitore UDP.
Valori restituiti
OT_ERROR_NONE
Il destinatario è stato rimosso.
OT_ERROR_NOT_FOUND
Il ricevitore UDP non è stato aggiunto.

otUdpSend

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

Invia un messaggio UDP/IPv6.

Se il valore restituito è OT_ERROR_NONE, OpenThread acquisisce la proprietà di aMessage e il chiamante non deve più fare riferimento a aMessage. Se il valore restituito non è OT_ERROR_NONE, il chiamante mantiene la proprietà di aMessage, liberando aMessage se il buffer dei messaggi non è più necessario.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aSocket
Un puntatore a una struttura di socket UDP.
[in] aMessage
Un puntatore al buffer di un messaggio.
[in] aMessageInfo
Un puntatore a una struttura di informazioni del messaggio.

Dettagli
Valori restituiti
OT_ERROR_NONE
Il messaggio è stato programmato per l'invio.
OT_ERROR_INVALID_ARGS
Sono specificati argomenti non validi.
OT_ERROR_NO_BUFS
Buffer disponibile insufficiente per aggiungere le intestazioni UDP e IPv6.

otUdpSendDatagram

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

Invia un messaggio UDP senza socket.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aMessage
Un puntatore a un messaggio senza intestazione UDP.
[in] aMessageInfo
Un puntatore alle informazioni di un messaggio associate a aMessage.
Valori restituiti
OT_ERROR_NONE
Il messaggio è stato accodato in un'interfaccia di output.
OT_ERROR_NO_BUFS
Buffer disponibile insufficiente per aggiungere le intestazioni IPv6.
OT_ERROR_INVALID_ARGS
Sono specificati argomenti non validi.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.