<ph type="x-smartling-placeholder"></ph> Quelle auf GitHub ansehen
OpenThread bietet UDP-Befehle zur Verwendung mit einem Thread-Netzwerk, um Peer-to-Peer zu testen
zwischen UDP-Sockets kommunizieren. cli udp
stellt einen Beispiel-Socket mit
mit dem alle udp
-Befehle interagieren.
Die folgenden Beispiele zeigen, wie Sie Sockets öffnen und binden, den Socket verbinden und Nachrichten über UDP-Sockets senden.
UDP-Befehle
Geben Sie help
ein, um eine Liste der udp
-Befehle aufzurufen:
udp help
bind
close
connect
linksecurity
open
send
Done
Befehl open
Verwenden Sie den Befehl udp open
, um den Socket zu öffnen und die UDP-Kommunikation zu starten.
Sie haben dann die Möglichkeit, den Socket an eine bestimmte IP-Adresse und einen bestimmten Port zu binden.
Befehl bind
Nachdem Sie den open
für den Socket festgelegt haben, können Sie einen udp bind
-Befehl ausführen, um eine IPv6-Adresse zuzuweisen.
und einen Port zum offenen Socket. Dies bindet den Socket für die Kommunikation. Das Zuweisen der
Die IPv6-Adresse und der Port werden auch als Benennung des Sockets bezeichnet. Wenn Sie nicht direkt
bind
die Steckdose, verbindet die Steckdose (udp connect
) oder verwende sie in
Der Befehl udp send
bindet den Socket an einen sitzungsspezifischen Port.
Befehl connect
Mit dem Befehl udp connect
kann der Beispiel-Socket mit einer Peer-Socket-Adresse verbunden werden.
Anschließend können Sie einen udp send
-Befehl ausführen, um eine Nachricht an den Peer zu senden. Wenn der Socket
ist nicht bereits gebunden, wird mit dem Befehl udp connect
auch der Socket gebunden.
Befehl send
Mit dem Befehl udp send
wird eine Nachricht mit dem Beispiel-Socket an ein Ziel gesendet.
dessen IP-Adresse und UDP-Port mit den Befehlsvariablen angegeben werden können.
Wenn die IP-Adresse und der Port nicht im
udp send
, wird die Nachricht über den Beispiel-Socket gesendet.
an das Ziel, das im Befehl udp connect
angegeben wurde.
Wenn Sie den Befehl udp send
ausgeben, wird der Socket an einen sitzungsspezifischen Port gebunden.
wenn der Socket nicht bereits gebunden ist.
Befehl close
Es wird empfohlen, den Befehl udp close
zum Schließen des Sockets zu verwenden, wenn
wird der Socket nicht mehr benötigt.
Befehl linksecurity
Mit dem Befehl udp linksecurity
können Sie die Sicherheit der Sicherungsschicht für Nachrichten aktivieren oder deaktivieren.
Nachricht zwischen zwei Knoten senden
Öffnen Sie auf Knoten 1 den UDP-Socket.
udp open
DoneBinden Sie den Socket auf Knoten 1.
udp bind :: 1234
DoneDie Verwendung von
::
bedeutet, dass derbind
die nicht angegebene IPv6-Adresse verwenden soll. Dadurch weist der UDP/IPv6-Stack die IPv6-Bindungsadresse zu. Für vollständige Optionen mitudp bind
, z. B. eine Bindung an eine Netzwerkschnittstelle, Weitere Informationen finden Sie unter udp bind.
1 Öffnen Sie auf Knoten 2 den UDP-Socket.
udp open
Done
Senden Sie von Knoten 2 eine einfache Nachricht an Knoten 1.
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
DoneBei diesem Befehl wird davon ausgegangen, dass Knoten 2 die Adresse von Knoten 1 bereits erkannt hat. Außerdem hat sich der Administrator von Node 2 in diesem Beispiel dafür entschieden, das Socket zu binden. Dies liegt daran, dass der Node 2-Administrator eine Nachricht an Node 1 senden, ohne sich Gedanken darüber zu machen, welche seiner IP-Adressen und Ports verwendet werden. als Node 2-Quelle an. Der Socket wählt in diesem Szenario eine IP-Adresse und einen Port zufällig aus.
Die vollständigen Optionen für
udp send
finden Sie unter udp send angeben.Knoten 1 bestätigt den Empfang der Nachricht von Knoten 2:
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
Den Socket mit der Peer-Socket-Adresse verbinden und dann eine Nachricht zwischen zwei Knoten senden
Dieses Beispiel ähnelt dem vorherigen, zeigt aber einige Flexibilität
die Sie bei der Verwendung von UDP-Sockets haben. Bei dieser Methode verbinden Sie zunächst den Socket mit dem
Peer-Socket-Adresse verwenden, müssen Sie die Peer-IP-Adresse und den Port nicht angeben.
jedes Mal ein udp send
ausführen.
Öffnen Sie auf Knoten 1 den UDP-Socket.
udp open
DoneBinden Sie den Socket auf Knoten 1.
udp bind :: 1234
DoneÖffnen Sie auf Knoten 2 den UDP-Socket.
udp open
DoneVerwenden Sie auf Knoten 2 den Befehl
udp connect
, um die Kommunikation mit Knoten 1 zu öffnen.udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
DoneDie vollständigen Optionen für
udp connect
finden Sie unter UDP-VerbindungVerwenden Sie auf Knoten 2 den Befehl
udp send
, um eine Nachricht an Knoten 1 zu senden, aber nichtip
undport
in derudp send
-Befehlssyntax angeben.udp send hello
DoneWenn Sie
ip
undport
nicht angeben, verwendet derudp send
-Befehl dieip
undport
die im Befehludp connect
angegeben wurden.