<ph type="x-smartling-placeholder"></ph> Consulter le code source sur GitHub
OpenThread propose des commandes UDP utilisables avec un réseau Thread pour tester le peer-to-peer
la communication entre
les sockets UDP. cli udp
fournit un exemple de socket avec
avec lequel toutes les commandes udp
interagissent.
Les exemples suivants montrent comment ouvrir et lier des sockets, comment connecter le socket et comment envoyer des messages à l'aide de sockets UDP.
Commandes UDP
Pour obtenir la liste des commandes udp
, saisissez help
:
udp help
bind
close
connect
linksecurity
open
send
Done
Commande open
Utilisez la commande udp open
pour ouvrir le socket afin de commencer la communication UDP.
Vous avez ensuite la possibilité de lier le socket à une adresse IP et à un port spécifiques.
Commande bind
Après avoir défini la commande open
sur le socket, vous pouvez exécuter une commande udp bind
pour attribuer une adresse IPv6.
et un port vers le socket ouvert. Cela lie le socket pour la communication. Attribuer le
L'adresse et le port IPv6 sont également appelés
nommer le socket. Si vous n'avez pas directement
bind
le support, en connectant le support (udp connect
) ou en l'utilisant dans
une commande udp send
lie le socket à un port éphémère.
Commande connect
Une commande udp connect
peut être utilisée pour connecter l'exemple de socket à une adresse de socket de pair.
Vous pouvez ensuite émettre une commande udp send
pour envoyer un message au pair. Si le socket
n'est pas déjà lié, l'émission de la commande udp connect
lie également le socket.
Commande send
Une commande udp send
envoie un message utilisant l'exemple de socket à une destination
dont l'adresse IP et le port UDP peuvent être spécifiés avec les variables de commande.
Si l'adresse IP et le port ne sont pas spécifiés dans le champ
udp send
, le message est envoyé à l'aide de l'exemple de socket
vers la destination spécifiée dans la commande udp connect
.
L'émission de la commande udp send
lie le socket à un port éphémère
si le socket n'a pas déjà été lié.
Commande close
Il est recommandé d'utiliser la commande udp close
pour fermer le socket lorsque
le socket n'est plus nécessaire.
Commande linksecurity
La commande udp linksecurity
permet d'activer ou de désactiver la couche de liaison de données pour les messages.
Envoyer un message entre deux nœuds
Sur le nœud 1, ouvrez le socket UDP.
udp open
DoneSur le nœud 1, liez le socket.
udp bind :: 1234
DoneL'utilisation de
::
indique quebind
doit utiliser l'adresse IPv6 non spécifiée, ce qui permet à la pile UDP/IPv6 d'attribuer l'adresse IPv6 de liaison. Pour les options avecudp bind
, telles qu'une liaison à une interface réseau, faites référence à la liaison udp.
1 Sur le nœud 2, ouvrez le socket UDP.
udp open
Done
Sur le nœud 2, envoyez un message simple au nœud 1.
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
DoneCette commande suppose que le nœud 2 a déjà découvert l'adresse du nœud 1. De plus, dans cet exemple, l'administrateur du nœud 2 a choisi de ne pas lier le socket. Cela est dû au fait que l'administrateur de Node 2 souhaite envoyer un message au nœud 1 sans déterminer quelles adresses IP et quels ports sont utilisés comme source du nœud 2. Dans ce scénario, le socket choisit une adresse IP et un port de manière aléatoire.
Pour connaître les options complètes avec
udp send
, consultez udp send.Le nœud 1 confirme la réception du message du nœud 2:
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
Connectez le socket à l'adresse du socket du pair, puis envoyez un message entre deux nœuds
Cet exemple est semblable au précédent, mais il démontre une partie de la flexibilité
que vous avez en utilisant
des sockets UDP. Avec cette méthode, vous connectez d'abord le socket à la
l'adresse du socket du pair, vous n'avez pas besoin de spécifier l'adresse IP et le port du pair
chaque fois que vous exécutez une udp send
.
Sur le nœud 1, ouvrez le socket UDP.
udp open
DoneSur le nœud 1, liez le socket.
udp bind :: 1234
DoneSur le nœud 2, ouvrez le socket UDP.
udp open
DoneSur le nœud 2, utilisez la commande
udp connect
pour ouvrir la communication avec le nœud 1.udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
DonePour connaître les options complètes avec
udp connect
, consultez udp connectSur le nœud 2, utilisez la commande
udp send
pour envoyer un message au nœud 1, mais ne le faites pas spécifiezip
etport
dans la syntaxe de la commandeudp send
.udp send hello
DoneSi vous ne spécifiez pas
ip
niport
, la commandeudp send
utiliseip
etport
spécifiés dans la commandeudp connect
.