OpenThread ofrece comandos UDP para usar con una red Thread para probar la conexión entre pares
la comunicación entre sockets UDP. cli udp
proporciona un socket de muestra con
con el que interactúan todos los comandos de udp
.
Los siguientes ejemplos demuestran cómo abrir y vincular sockets, cómo cómo conectar el socket y cómo enviar mensajes con los sockets UDP.
Comandos UDP
Para obtener una lista de comandos udp
, escribe help
:
udp help
bind
close
connect
linksecurity
open
send
Done
Comando open
Usa el comando udp open
para abrir el socket y comenzar la comunicación UDP.
Luego, tienes la opción de vincular el socket a una dirección IP y a un puerto específicos.
Comando bind
Después de open
el socket, puedes ejecutar un comando udp bind
para asignar una dirección IPv6.
y un puerto al socket abierto. Esto vincula el socket para la comunicación. La asignación del
La dirección IPv6 y el puerto también se denominan denominación del socket. Si no lo haces directamente
bind
el socket, conectando el enchufe (udp connect
) o usándolo en
un comando udp send
vincula el socket a un puerto efímero.
Comando connect
Se puede usar un comando udp connect
para conectar el socket de ejemplo a una dirección de socket de intercambio de tráfico.
Luego, puedes emitir un comando udp send
para enviar un mensaje al par. Si el zócalo
aún no está vinculado, emitir el comando udp connect
también vincula el socket.
Comando send
Un comando udp send
envía un mensaje mediante un socket de ejemplo a un destino
cuya dirección IP y puerto UDP se pueden especificar con las variables de comando.
Si la dirección IP y el puerto no se especifican en el
Comando udp send
, el mensaje se envía con el socket de ejemplo
al destino especificado en el comando udp connect
.
La emisión del comando udp send
vincula el socket a un puerto efímero
si el socket aún no se vinculó.
Comando close
Se recomienda usar el comando udp close
para cerrar el socket cuando
el socket ya no es necesario.
Comando linksecurity
El comando udp linksecurity
se puede usar para habilitar o inhabilitar la seguridad de la capa de vínculo de datos para los mensajes.
Envía un mensaje entre dos nodos
En el Nodo 1, abre el socket UDP.
udp open
DoneEn el Nodo 1, vincula el socket.
udp bind :: 1234
DoneEl uso de
::
indica quebind
debe usar la dirección IPv6 no especificada. lo que permite que la pila UDP/IPv6 asigne la dirección IPv6 de vinculación. Para completar opciones conudp bind
, como la vinculación a una interfaz de red, consulta vinculación de udp.
1 En el Nodo 2, abre el socket UDP.
udp open
Done
En el Nodo 2, envía un mensaje simple al Nodo 1.
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
DoneEste comando supone que el Nodo 2 ya descubrió la dirección del Nodo 1. Además, en este ejemplo, el administrador del Nodo 2 ha optado por no enlazar el socket. Esto se debe a que el administrador del nodo 2 quiere enviar un mensaje al Nodo 1 sin tener en cuenta cuáles de sus direcciones IP y puertos se usan como la fuente del Nodo 2. En este caso, el socket elige una dirección IP y un puerto de forma aleatoria.
Para conocer todas las opciones de
udp send
, consulta udp sendEl Nodo 1 confirma la recepción del mensaje del Nodo 2:
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
Conecta el socket a la dirección del socket de intercambio de tráfico y, luego, envía un mensaje entre dos nodos.
Este ejemplo es similar al anterior, pero demuestra algo de flexibilidad.
que tienes en los sockets UDP. Con este método, primero conectas el socket al
dirección del socket de intercambio de tráfico, no necesitas especificar la dirección IP ni el puerto
cada vez que realizas una udp send
.
En el Nodo 1, abre el socket UDP.
udp open
DoneEn el Nodo 1, vincula el socket.
udp bind :: 1234
DoneEn el Nodo 2, abre el socket UDP.
udp open
DoneEn el Nodo 2, usa el comando
udp connect
para abrir la comunicación con el Nodo 1.udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
DonePara conocer todas las opciones de
udp connect
, consulta udp connectEn el Nodo 2, usa el comando
udp send
para enviar un mensaje al Nodo 1, pero no lo hagas. especificaip
yport
en la sintaxis del comandoudp send
.udp send hello
DoneSi no se especifican
ip
yport
, el comandoudp send
usaip
yport
. especificadas en el comandoudp connect
.