<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 openDoneBinden Sie den Socket auf Knoten 1.
udp bind :: 1234DoneDie Verwendung von
::bedeutet, dass derbinddie 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 helloDoneBei 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 sendfinden 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 openDoneBinden Sie den Socket auf Knoten 1.
udp bind :: 1234DoneÖffnen Sie auf Knoten 2 den UDP-Socket.
udp openDoneVerwenden 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 1234DoneDie vollständigen Optionen für
udp connectfinden Sie unter UDP-VerbindungVerwenden Sie auf Knoten 2 den Befehl
udp send, um eine Nachricht an Knoten 1 zu senden, aber nichtipundportin derudp send-Befehlssyntax angeben.udp send helloDoneWenn Sie
ipundportnicht angeben, verwendet derudp send-Befehl dieipundportdie im Befehludp connectangegeben wurden.