OpenThread 提供適用於 Thread 網路的 UDP 指令,測試點對點
以及 UDP 通訊端之間的通訊cli udp
提供一個範例通訊端,
所有 udp
指令都會互動
下方範例示範如何開啟並繫結通訊端、 連線至通訊端,以及如何使用 UDP 通訊端傳送訊息。
UDP 指令
如需 udp
指令的清單,請輸入 help
:
udp help
bind
close
connect
linksecurity
open
send
Done
open
指令
使用 udp open
指令開啟通訊端以開始 UDP 通訊。
接著,您可以選擇將通訊端繫結至特定 IP 位址和通訊埠。
bind
指令
open
通訊端之後,您可以執行 udp bind
指令來指派 IPv6 位址
以及通往開放通訊端的通訊埠這會繫結通訊端以進行通訊。指派
IPv6 位址和通訊埠也稱為通訊端命名。如果您不直接
bind
通訊端,正在連接通訊端 (udp connect
),或在通訊端使用
udp send
指令會將通訊端繫結至暫時通訊埠。
connect
指令
udp connect
指令可用於將範例通訊端連線至對等互連通訊端位址。
接著您可以發出 udp send
指令,傳送訊息給對等開發人員。如果通訊端
尚未繫結,發出 udp connect
指令也會繫結通訊端。
send
指令
udp send
指令會使用範例通訊端將訊息傳送至目的地
您可以使用指令變數來指定 IP 位址和 UDP 通訊埠。
如果
udp send
指令,訊息會使用範例通訊端傳送
附加至 udp connect
指令中指定的目的地。
發出 udp send
指令後,通訊端會將通訊端繫結至暫時通訊埠
表示通訊端尚未繫結。
close
指令
建議您在以下情況下使用 udp close
指令關閉通訊端:
不再需要該通訊端
linksecurity
指令
udp linksecurity
指令可用來啟用或停用訊息的資料連結層安全性。
在兩個節點之間傳送訊息
在節點 1 上,開啟 UDP 通訊端。
udp open
Done在節點 1 上,繫結至通訊端。
udp bind :: 1234
Done使用
::
表示bind
應使用未指定的 IPv6 位址。 讓 UDP/IPv6 堆疊指派已繫結的 IPv6 位址。完整udp bind
的選項,例如繫結至網路介面 請參閱 udp bind。
1 在節點 2 上,開啟 UDP 通訊端。
udp open
Done
在節點 2 上,傳送簡單的訊息給節點 1。
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 hello
Done這個指令假設 Node 2 已探索節點 1 的位址。 此外,在這個例子中,Node 2 的管理員已選擇不要 繫結至通訊端。這是因為節點 2 管理員想傳送 傳送到節點 1 的訊息,但未留意節點使用的 IP 位址和通訊埠 做為節點 2 來源在這種情況下,通訊端會隨機選擇 IP 位址和通訊埠。
如需
udp send
的完整選項,請參閱 udp send:節點 1 確認已收到節點 2 的訊息:
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
將通訊端連線至對等互連通訊端位址,然後在兩個節點之間傳送訊息
這個範例與上一個類似,但展現出
高可用性 VPN 通訊端使用這個方法時,您需先將通訊端與
對等互連通訊端位址,您就不需要指定對等互連 IP 位址和通訊埠
每次執行 udp send
時。
在節點 1 上,開啟 UDP 通訊端。
udp open
Done在節點 1 上,繫結至通訊端。
udp bind :: 1234
Done在節點 2 上,開啟 UDP 通訊端。
udp open
Done在節點 2 上,使用
udp connect
指令開啟與節點 1 的通訊。udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234
Done如需
udp connect
的完整選項,請參閱 udp Connect在節點 2 上,使用
udp send
指令將訊息傳送至節點 1,但不要傳送訊息 在udp send
指令語法中指定ip
和port
。udp send hello
Done如未指定
ip
和port
,udp send
指令會使用ip
和port
您在udp connect
指令中指定的版本