Tester la fonctionnalité UDP avec OT CLI

<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

  1. Sur le nœud 1, ouvrez le socket UDP.

    udp open
    Done
    
  2. Sur le nœud 1, liez le socket.

    udp bind :: 1234
    Done
    

    L'utilisation de :: indique que bind 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 avec udp 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
   

  1. 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
    Done
    

    Cette 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.

  2. 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.

  1. Sur le nœud 1, ouvrez le socket UDP.

    udp open
    Done
    
  2. Sur le nœud 1, liez le socket.

    udp bind :: 1234
    Done
    
  3. Sur le nœud 2, ouvrez le socket UDP.

    udp open
    Done
    
  4. Sur 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
    Done
    

    Pour connaître les options complètes avec udp connect, consultez udp connect

  5. Sur le nœud 2, utilisez la commande udp send pour envoyer un message au nœud 1, mais ne le faites pas spécifiez ip et port dans la syntaxe de la commande udp send.

    udp send hello
    Done
    

    Si vous ne spécifiez pas ip ni port, la commande udp send utilise ip et port spécifiés dans la commande udp connect.