UDP

En este módulo, se incluyen funciones que controlan la comunicación UDP.

Resumen

Enumeraciones

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Define los identificadores de interfaz de red de OpenThread.

Typedefs

otNetifIdentifier typedef
Define los identificadores de interfaz de red de OpenThread.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
Esta devolución de llamada permite a OpenThread proporcionar controladores específicos para ciertos mensajes UDP.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Esta devolución de llamada permite a OpenThread informar a la aplicación sobre un mensaje UDP recibido.
otUdpReceiver typedef
struct otUdpReceiver
Representa un receptor UDP.
otUdpSocket typedef
struct otUdpSocket
Representa un socket UDP.

remotas

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Agrega un receptor UDP.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
Vincula un socket UDP/IPv6.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
Cierra un socket UDP/IPv6.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Conecta un socket UDP/IPv6.
otUdpGetSockets(otInstance *aInstance)
Obtiene el encabezado de la lista vinculada de sockets de UDP.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
Verifica si un socket UDP está abierto.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Asigna un búfer de mensaje nuevo para enviar un mensaje UDP.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Abre un socket UDP/IPv6.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Quita un receptor UDP.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Envía un mensaje UDP/IPv6.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Envía un mensaje UDP sin un socket.

Structs

otUdpReceiver

Representa un receptor UDP.

otUdpSocket

Representa un socket UDP.

Enumeraciones

otNetifIdentifier

 otNetifIdentifier

Define los identificadores de interfaz de red de OpenThread.

Propiedades
OT_NETIF_BACKBONE

La interfaz de la red troncal

OT_NETIF_THREAD

La interfaz Thread

OT_NETIF_UNSPECIFIED

No se especificó la interfaz de red.

Typedefs

otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Define los identificadores de interfaz de red de OpenThread.

otUdpHandler

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

Esta devolución de llamada permite a OpenThread proporcionar controladores específicos para ciertos mensajes UDP.

Detalles
Valores que se muestran
true
Este receptor maneja el mensaje y no debe procesarse más.
false
Este receptor no maneja el mensaje.

otUdpReceive

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

Esta devolución de llamada permite a OpenThread informar a la aplicación sobre un mensaje UDP recibido.

otUdpReceiver

struct otUdpReceiver otUdpReceiver

Representa un receptor UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

Representa un socket UDP.

remotas

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Agrega un receptor UDP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aUdpReceiver
Un puntero al receptor UDP.
Valores que se muestran
OT_ERROR_NONE
Se agregó correctamente el receptor.
OT_ERROR_ALREADY
Ya se agregó el receptor UDP.

otUdpBind

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

Vincula un socket UDP/IPv6.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSocket
Un puntero para una estructura de socket UDP.
[in] aSockName
Un puntero para una estructura de dirección de socket IPv6.
[in] aNetif
La interfaz de red que se vinculará.
Valores que se muestran
OT_ERROR_NONE
La operación de vinculación se realizó correctamente.
OT_ERROR_FAILED
No se pudo vincular el socket UDP.

otUdpClose

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Cierra un socket UDP/IPv6.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSocket
Un puntero para una estructura de socket UDP.
Valores que se muestran
OT_ERROR_NONE
El socket se cerró correctamente.
OT_ERROR_FAILED
No se pudo cerrar el socket UDP.

otUdpConnect

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

Conecta un socket UDP/IPv6.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSocket
Un puntero para una estructura de socket UDP.
[in] aSockName
Un puntero para una estructura de dirección de socket IPv6.
Valores que se muestran
OT_ERROR_NONE
La operación de conexión se realizó correctamente.
OT_ERROR_FAILED
No se pudo conectar el socket UDP.

otUdpGetSockets

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Obtiene el encabezado de la lista vinculada de sockets de UDP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Un puntero al encabezado de la lista vinculada del socket UDP.

otUdpIsOpen

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

Verifica si un socket UDP está abierto.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSocket
Un puntero para una estructura de socket UDP.
Qué muestra
Si el socket UDP está abierto.

otUdpNewMessage

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

Asigna un búfer de mensaje nuevo para enviar un mensaje UDP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSettings
Un puntero a la configuración del mensaje o NULL para usar la configuración predeterminada.
Qué muestra
Un puntero al búfer de mensajes o NULL si no hay búferes de mensajes disponibles o los parámetros no son válidos.
Consulta también:
otMessageFree

otUdpOpen

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

Abre un socket UDP/IPv6.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSocket
Un puntero para una estructura de socket UDP.
[in] aCallback
Un puntero para la función de devolución de llamada de la aplicación.
[in] aContext
Un puntero para el contexto específico de la aplicación.
Valores que se muestran
OT_ERROR_NONE
Se abrió correctamente el socket.
OT_ERROR_FAILED
No se pudo abrir el socket.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Quita un receptor UDP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aUdpReceiver
Un puntero al receptor UDP.
Valores que se muestran
OT_ERROR_NONE
Se quitó correctamente el receptor.
OT_ERROR_NOT_FOUND
No se agregó el receptor UDP.

otUdpSend

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

Envía un mensaje UDP/IPv6.

Si el valor que se muestra es OT_ERROR_NONE, OpenThread asume la propiedad de aMessage, y el llamador ya no debe hacer referencia a aMessage. Si el valor que se muestra no es OT_ERROR_NONE, el llamador conservará la propiedad de aMessage, lo que incluye liberar aMessage si ya no se necesita el búfer de mensajes.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSocket
Un puntero para una estructura de socket UDP.
[in] aMessage
Un puntero para un búfer de mensaje.
[in] aMessageInfo
Un puntero para una estructura de información de mensaje.

Detalles
Valores que se muestran
OT_ERROR_NONE
Se programó correctamente el envío del mensaje.
OT_ERROR_INVALID_ARGS
Se proporcionaron argumentos no válidos.
OT_ERROR_NO_BUFS
No hay suficiente búfer disponible para agregar los encabezados UDP y IPv6.

otUdpSendDatagram

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

Envía un mensaje UDP sin un socket.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para un mensaje sin encabezado UDP.
[in] aMessageInfo
Un puntero para la información de un mensaje asociada con aMessage.
Valores que se muestran
OT_ERROR_NONE
El mensaje se puso en cola correctamente en una interfaz de salida.
OT_ERROR_NO_BUFS
No hay suficiente búfer disponible para agregar los encabezados de IPv6.
OT_ERROR_INVALID_ARGS
Se proporcionaron argumentos no válidos.

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.