<ph type="x-smartling-placeholder"></ph> Consulter le code source sur GitHub
OpenThread propose des commandes TCP à utiliser avec un réseau Thread pour tester le peer-to-peer
entre les points de terminaison TCP. cli tcp
fournit un exemple de TCP
et un exemple d'écouteur TCP avec lesquels toutes les commandes tcp
interagissent.
Les présentations des commandes et l'exemple qui suit fournissent des informations sur l'initialisation l’exemple de point de terminaison TCP et d’écouteur TCP, comment se connecter à un point de terminaison TCP pair, et comment envoyer un message au pair.
Commandes TCP
Pour obtenir la liste des commandes tcp
, saisissez help
:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Commande init
Utilisez la commande tcp init
pour initialiser le module TCP afin de commencer la communication TCP.
Le module TCP peut alors effectuer de nombreuses fonctions, comme écouter le trafic
à l'aide de l'exemple d'écouteur TCP fourni par la CLI tcp
.
Pour désinitialiser l'exemple d'écouteur TCP et l'exemple de point de terminaison TCP,
exécutez la commande tcp deinit
.
Commande bind
Pour lier l’exemple de point de terminaison TCP une fois que vous avez initialisé le module TCP,
exécuter une commande tcp bind
pour attribuer une adresse IPv6 et un port au point de terminaison TCP.
Cela lie le point de terminaison pour la communication. Attribuer l'adresse et le port IPv6
est également appelée « nommage du point de terminaison ».
Commande listen
Pour utiliser l'exemple d'écouteur TCP une fois que vous avez initialisé le module TCP,
exécuter une commande tcp listen
, et spécifier l'adresse IPv6 et le port d'écoute ;
Pour empêcher l'exemple d'écouteur TCP d'écouter les connexions TCP entrantes,
exécutez la commande tcp stoplistening
.
Commande connect
Une commande tcp connect
connecte l'exemple de point de terminaison TCP à une adresse de point de terminaison TCP pair.
Commande send
Une fois la connexion établie entre deux nœuds, exécutez une commande tcp send
.
pour envoyer un message au pair.
Commandes benchmark
Une fois la connexion TCP établie entre deux nœuds, utilisez éventuellement le
Commandes benchmark
permettant d'envoyer de grandes quantités de données entre les nœuds à des fins de test
la bande passante et les performances du réseau. Nombre d'octets transmis en millisecondes
ainsi que TCP Goodput sera indiqué dans les résultats benchmark
.
Commande abort
Pour mettre fin immédiatement et sans cérémonie à une connexion TCP, exécutez la commande tcp abort
sur l'un ou l'autre des nœuds pour faire passer le point de terminaison TCP à un état fermé.
Commande sendend
Lorsqu'un nœud a terminé d'envoyer des données à l'autre nœud, le premier nœud peut
émettez une commande tcp sendend
pour alerter le deuxième nœud qu'il ne s'attend plus
données. Le deuxième nœud peut également envoyer un tcp sendend
au premier nœud.
Une fois que chaque nœud reçoit un message TCP: Disconnected
, la connexion TCP
entre les deux nœuds est supprimé. Il est recommandé, mais pas obligatoire, de
exécutez cette commande une fois
le transfert de données terminé.
Envoyer un message entre deux nœuds
Sur le nœud 1, initialisez le module de CLI TCP, puis écoutez les connexions entrantes en utilisant l'exemple d'écouteur TCP.
tcp init
tcp listen :: 30000
L'utilisation de
::
indique quelisten
doit utiliser l'adresse IPv6 non spécifiée, ce qui permet à la pile TCP/IPv6 d'attribuer l'adresse IPv6. Le port est 30000.Sur le nœud 2, initialisez le module de CLI TCP, connectez-vous au nœud 1, puis envoyez une un message simple.
tcp init
tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
tcp send hello
Validation
D'après les exemples d'étapes ci-dessus, le résultat suivant est attendu:
- Une fois que le nœud 2 a exécuté la commande
tcp connect
, le nœud 2 doit recevoir le messageTCP: Connection established
. - Le nœud 1 doit ensuite recevoir les messages (avec un exemple d'adresse et de port IPv6):
<ph type="x-smartling-placeholder">
- </ph>
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
TCP: Connection established
- Une fois que le nœud 2 a exécuté la commande
tcp send
, le nœud 1 doit recevoir le messageTCP: Received 5 bytes: hello