Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

UDP

Questo modulo include funzioni che controllano la comunicazione UDP.

Riepilogo

Enumerazioni

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

Typedef

otNetifIdentifier typedef
Questa enumerazione 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 di un messaggio UDP ricevuto.
otUdpReceiver typedef
struct otUdpReceiver
Questa struttura rappresenta un ricevitore UDP.
otUdpSocket typedef
struct otUdpSocket
Questa struttura rappresenta un socket UDP.

Functions

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Questa funzione 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)
Questa funzione ottiene l'intestazione dell'elenco collegato dei 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 di 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)
Questa funzione 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)
Questa funzione invia un messaggio UDP senza socket.

Punti ristoro

otUdpReceiver

Questa struttura rappresenta un ricevitore UDP.

otUdpSocket

Questa struttura rappresenta un socket UDP.

Enumerazioni

otNetifIdentifier

 otNetifIdentifier

Questa enumerazione definisce gli identificatori dell'interfaccia di rete OpenThread.

Proprietà
OT_NETIF_BACKBONE

L'interfaccia backbone

OT_NETIF_THREAD

L'interfaccia di Thread.

OT_NETIF_UNSPECIFIED

Interfaccia di rete non specificata.

Typedef

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Questa enumerazione 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 è gestito da questo destinatario e non deve essere elaborato ulteriormente.
false
Il destinatario non gestisce il messaggio.

OtUdpReceive

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

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

otUdpReceiver

struct otUdpReceiver otUdpReceiver

Questa struttura rappresenta un ricevitore UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

Questa struttura rappresenta un socket UDP.

Functions

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Questa funzione 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 era 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 socket UDP.
[in] aSockName
Un puntatore a una struttura di indirizzo socket IPv6.
[in] aNetif
L'interfaccia di rete da associare.
Valori restituiti
OT_ERROR_NONE
Operazione di associazione riuscita.
OT_ERROR_FAILED
Associazione socket UDP non riuscita.

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 socket UDP.
Valori restituiti
OT_ERROR_NONE
Chiusura del socket riuscita.
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 socket UDP.
[in] aSockName
Un puntatore a una struttura di indirizzo socket IPv6.
Valori restituiti
OT_ERROR_NONE
Operazione di connessione riuscita.
OT_ERROR_FAILED
Impossibile connettere il socket UDP.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Questa funzione ottiene l'intestazione dell'elenco collegato dei socket UDP.

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Resi
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 socket UDP.
Resi
Indica se il socket UDP è aperto.

otUdpNewMessage

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

Alloca un nuovo buffer di 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 a NULL per utilizzare le impostazioni predefinite.
Resi
Un puntatore al buffer dei messaggi o NULL se non sono disponibili buffer di messaggi o parametri non 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 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
)

Questa funzione 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 ricevitore è 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 assume la proprietà di aMessage e il chiamante non dovrebbe più fare riferimento a aMessage. Se il valore restituito non è OT_ERROR_NONE, il chiamante mantiene la proprietà di aMessage, inclusa la possibilità di liberare 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 socket UDP.
[in] aMessage
Un puntatore nel buffer di un messaggio.
[in] aMessageInfo
Un puntatore a una struttura di informazioni del messaggio.

Dettagli
Valori restituiti
OT_ERROR_NONE
L'invio del messaggio è stato pianificato.
OT_ERROR_INVALID_ARGS
Argomenti forniti 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
)

Questa funzione 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 del messaggio associate a aMessage.
Valori restituiti
OT_ERROR_NONE
Aggiunta del messaggio in coda in un'interfaccia di output.
OT_ERROR_NO_BUFS
Buffer insufficiente per aggiungere le intestazioni IPv6.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per ulteriori informazioni, o per contribuire alla nostra documentazione, consulta la pagina Risorse.