<ph type="x-smartling-placeholder"></ph>
Quelle auf GitHub ansehen
OpenThread bietet TCP-Befehle zur Verwendung mit einem Thread-Netzwerk zum Testen von Peer-to-Peer-Verbindungen.
Kommunikation zwischen TCP-Endpunkten. cli tcp stellt ein Beispiel-TCP bereit
Endpunkt und einen Beispiel-TCP-Listener, mit dem alle tcp-Befehle interagieren.
In der Befehlsübersicht und im folgenden Beispiel finden Sie Informationen zum Initialisieren wie Sie eine Verbindung zu einem Peer-TCP-Endpunkt herstellen, und wie eine Nachricht an den Peer gesendet wird.
TCP-Befehle
Geben Sie help ein, um eine Liste der tcp-Befehle aufzurufen:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
Befehl init
Verwenden Sie den Befehl tcp init, um das TCP-Modul zu initialisieren und die TCP-Kommunikation zu starten.
Das TCP-Modul kann dann viele Funktionen ausführen, z. B. das Überwachen von eingehenden
Verbindungen mit dem von der tcp-Befehlszeile bereitgestellten Beispiel-TCP-Listener.
So deinitialisieren Sie den Beispiel-TCP-Listener und den Beispiel-TCP-Endpunkt:
führen Sie den Befehl tcp deinit aus.
Befehl bind
So binden Sie den Beispiel-TCP-Endpunkt, nachdem Sie das TCP-Modul initialisiert haben:
Führen Sie den Befehl tcp bind aus, um dem TCP-Endpunkt eine IPv6-Adresse und einen Port zuzuweisen.
Dadurch wird der Endpunkt für die Kommunikation gebunden. IPv6-Adresse und -Port zuweisen
wird auch als „Endpunkt benennen“ bezeichnet.
Befehl listen
So verwenden Sie den Beispiel-TCP-Listener, nachdem Sie das TCP-Modul initialisiert haben:
Führen Sie den Befehl tcp listen aus und geben Sie die IPv6-Adresse und den Überwachungsport an.
Um zu verhindern, dass der Beispiel-TCP-Listener eingehende TCP-Verbindungen abhört,
führen Sie den Befehl tcp stoplistening aus.
Befehl connect
Ein tcp connect-Befehl verbindet den Beispiel-TCP-Endpunkt mit der Adresse eines Peer-TCP-Endpunkts.
Befehl send
Sobald eine Verbindung zwischen zwei Knoten hergestellt ist, geben Sie einen tcp send-Befehl aus
um dem Peer eine Nachricht zu senden.
benchmark-Befehle
Sobald eine TCP-Verbindung zwischen zwei Knoten hergestellt wurde, können Sie optional die Methode
benchmark-Befehle zum Senden großer Datenmengen zwischen den zu testenden Knoten
Netzwerkbandbreite und -leistung. Die Anzahl der übertragenen Byte in Millisekunden
sowie der TCP-Goodput werden in den benchmark-Ergebnissen bereitgestellt.
Befehl abort
Wenn Sie eine TCP-Verbindung sofort und unauffällig beenden möchten, führen Sie den Befehl tcp abort aus.
auf einem der Knoten, um den TCP-Endpunkt in einen geschlossenen Zustand zu versetzen.
Befehl sendend
Wenn von einem Knoten die Daten
an den anderen Knoten gesendet wurden, kann der erste
führen Sie einen tcp sendend-Befehl aus, um den zweiten Knoten
Daten. Der zweite Knoten kann auch eine tcp sendend an den ersten Knoten senden.
Sobald jeder Knoten eine TCP: Disconnected-Nachricht erhält,
zwischen den beiden Knoten abgerissen. Es wird empfohlen, ist aber nicht erforderlich,
führen Sie diesen Befehl aus,
wenn die Datenübertragung abgeschlossen ist.
Nachricht zwischen zwei Knoten senden
Initialisieren Sie auf Knoten 1 das TCP-CLI-Modul und warten Sie dann auf eingehende Verbindungen mithilfe des Beispiel-TCP-Listeners.
tcp inittcp listen :: 30000Die Verwendung von
::bedeutet, dass derlistendie nicht angegebene IPv6-Adresse verwenden soll, Dadurch weist der TCP/IPv6-Stack die IPv6-Adresse zu. Der Port ist 30000.Initialisieren Sie auf Knoten 2 das TCP-CLI-Modul, stellen Sie eine Verbindung zu Knoten 1 her und senden Sie Botschaft zu vermitteln.
tcp inittcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000tcp send hello
Überprüfung
Auf Grundlage der oben gezeigten Beispielschritte ist folgende Ausgabe zu erwarten:
- Nachdem Knoten 2 den
tcp connect-Befehl ausgeführt hat, sollte Knoten 2 die NachrichtTCP: Connection established. - Knoten 1 sollte dann die Nachrichten empfangen (mit Beispiel-IPv6-Adresse und -Port):
<ph type="x-smartling-placeholder">
- </ph>
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152TCP: Connection established
- Nachdem Knoten 2 den
tcp send-Befehl ausgeführt hat, sollte Knoten 1 die NachrichtTCP: Received 5 bytes: hello