O OpenThread oferece comandos UDP para uso com uma rede Thread para teste ponto a ponto
e comunicação entre soquetes UDP. O cli udp fornece um soquete de amostra com
com a qual todos os comandos udp interagem.
Os exemplos a seguir demonstram como abrir e vincular soquetes, como conectar o soquete e como enviar mensagens usando soquetes UDP.
Comandos UDP
Para ver uma lista de comandos udp, digite help:
udp help
bind
close
connect
linksecurity
open
send
Done
Comando open
Use o comando udp open para abrir o soquete e iniciar a comunicação UDP.
Em seguida, você terá a opção de vincular o soquete a uma porta e um endereço IP específicos.
Comando bind
Depois de open o soquete, execute um comando udp bind para atribuir um endereço IPv6
e uma porta para o soquete aberto. Isso vincula o soquete para comunicação. A atribuição do
O endereço IPv6 e a porta também são chamados de nomear o soquete. Se você não
bind o soquete, conectando-o (udp connect) ou usando-o
um comando udp send vincula o soquete a uma porta temporária.
Comando connect
Um comando udp connect pode ser usado para conectar o soquete de exemplo a um endereço de soquete de peering.
Em seguida, você pode emitir um comando udp send para enviar uma mensagem ao peering. Se o soquete
ainda não estiver vinculado, emitir o comando udp connect também vinculará o soquete.
Comando send
Um comando udp send envia uma mensagem usando o soquete de exemplo para um destino
com endereço IP e porta UDP que podem ser especificados com as variáveis de comando.
Se o endereço IP e a porta não forem especificados no
udp send, a mensagem será enviada usando o soquete de exemplo
para o destino especificado no comando udp connect.
A emissão do comando udp send vincula o soquete a uma porta temporária
caso o soquete ainda não tenha sido vinculado.
Comando close
É recomendável usar o comando udp close para fechar o soquete quando
o soquete não é mais necessário.
Comando linksecurity
O comando udp linksecurity pode ser usado para ativar ou desativar a segurança da camada de enlace de dados nas mensagens.
Enviar uma mensagem entre dois nós
No Nó 1, abra o soquete UDP.
udp openDoneNo Nó 1, vincule o soquete.
udp bind :: 1234DoneO uso de
::indica quebindprecisa usar o endereço IPv6 não especificado. fazendo com que a pilha UDP/IPv6 atribua o endereço IPv6 de vinculação. Para concluir opções comudp bind, como vinculação a uma interface de rede, Consulte Vinculação de udp.
1 No Nó 2, abra o soquete UDP.
udp open
Done
No Nó 2, envie uma mensagem simples para o Nó 1.
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 helloDoneEsse comando pressupõe que o Nó 2 já descobriu o endereço do Nó 1. Além disso, neste exemplo, o administrador do Nó 2 optou por não vincular o soquete. Isso ocorre porque o administrador do nó 2 quer enviar uma mensagem para o Nó 1 sem se preocupar com quais endereços IP e portas são usados como a origem do nó 2. Nesse cenário, o soquete escolhe um endereço IP e uma porta aleatoriamente.
Para conferir as opções completas com
udp send, consulte udp send.O Nó 1 confirma o recebimento da mensagem do Nó 2:
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
Conectar o soquete ao endereço do soquete de mesmo nível e enviar uma mensagem entre dois nós
Este exemplo é semelhante ao anterior, mas demonstra parte da flexibilidade
no uso de soquetes UDP. Com esse método, você primeiro conecta o soquete ao
do peering, não será preciso especificar o endereço IP e a porta
sempre que fizer um udp send.
No Nó 1, abra o soquete UDP.
udp openDoneNo Nó 1, vincule o soquete.
udp bind :: 1234DoneNo Nó 2, abra o soquete UDP.
udp openDoneNo Nó 2, use o comando
udp connectpara abrir a comunicação com o Nó 1.udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234DonePara conferir as opções completas com
udp connect, consulte Conexão UDPNo Nó 2, use o comando
udp sendpara enviar uma mensagem para o Nó 1, mas não especifiqueipeportna sintaxe do comandoudp send.udp send helloDoneSe não especificar
ipeport, o comandoudp sendusará oipe oport. especificados no comandoudp connect.