<ph type="x-smartling-placeholder"></ph>
在 GitHub 上查看源代码
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 openDone在节点 1 上,绑定套接字。
udp bind :: 1234Done使用
::表示bind应使用未指定的 IPv6 地址。 从而让 UDP/IPv6 堆栈分配绑定 IPv6 地址如需完整 带有udp bind的选项,例如绑定到网络接口; 请参阅 udp 绑定。
1 在节点 2 上,打开 UDP 套接字。
udp open
Done
在节点 2 上,向节点 1 发送一条简单消息。
udp send fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234 helloDone此命令假定节点 2 已经发现节点 1 的地址。 此外,在此示例中,Node 2 的管理员已选择 绑定套接字。这是因为 Node 2 管理员想要 向节点 1 发送一条消息,而不关注节点 1 的 IP 地址和端口 用作节点 2 来源在这种情况下,套接字会随机选择 IP 地址和端口。
如需了解
udp send的完整选项,请参阅 udp send。节点 1 确认收到来自节点 2 的消息:
5 bytes from fdde:ad00:beef:0:dac3:6792:e2e:90d8 49153 hello
将套接字连接到对等套接字地址,然后在两个节点之间发送消息
此示例与前一个示例类似,
使用 UDP 套接字使用这种方法,您需要先将套接字连接到
对等套接字地址,则无需指定对等 IP 地址和端口
每次您执行 udp send 操作。
在节点 1 上,打开 UDP 套接字。
udp openDone在节点 1 上,绑定套接字。
udp bind :: 1234Done在节点 2 上,打开 UDP 套接字。
udp openDone在节点 2 上,使用
udp connect命令打开与节点 1 的通信。udp connect fdde:ad00:beef:0:bb1:ebd6:ad10:f33 1234Done如需了解
udp connect的完整选项,请参阅 udp 连接在节点 2 上,使用
udp send命令向节点 1 发送消息,但不 在udp send命令语法中指定ip和port。udp send helloDone如果未指定
ip和port,udp send命令会使用ip和portudp connect命令中指定的名称。