使用 OT CLI 测试 TCP 功能

<ph type="x-smartling-placeholder"></ph> 在 GitHub 上查看源代码

OpenThread 提供 TCP 命令,这些命令用于 Thread 网络,用于测试点对点连接 TCP 端点之间的通信。cli tcp 提供了一个示例 TCP 端点和一个示例 TCP 监听器(所有 tcp 命令都与之交互)。

命令概览和以下示例介绍了如何初始化 TCP 端点和 TCP 监听器示例、如何连接到对等 TCP 端点 以及如何向对等方发送消息。

TCP 命令

如需查看 tcp 命令的列表,请输入 help

tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
有关所有命令的说明和语法,请参阅 CLI 命令参考。 TCP 命令按字母顺序开头为 tcp abort

init 命令

使用 tcp init 命令初始化 TCP 模块以开始 TCP 通信。 TCP 模块随后可以执行许多功能,例如监听传入 使用 tcp CLI 提供的示例 TCP 监听器进行连接。 如需取消初始化示例 TCP 监听器和示例 TCP 端点, 发出 tcp deinit 命令。

bind 命令

要在初始化 TCP 模块后绑定示例 TCP 端点,请执行以下操作: 运行 tcp bind 命令,为 TCP 端点分配一个 IPv6 地址和一个端口。 这将绑定端点进行通信。分配 IPv6 地址和端口 也称为“为端点命名”

listen 命令

要在初始化 TCP 模块后使用示例 TCP 监听器, 运行 tcp listen 命令并指定 IPv6 地址和监听端口。

要阻止示例 TCP 监听器监听传入的 TCP 连接,请执行以下操作: 发出 tcp stoplistening 命令。

connect 命令

tcp connect 命令将示例 TCP 端点连接到对等 TCP 端点地址。

send 命令

在两个节点之间建立连接后,发出 tcp send 命令 向对等端发送消息

benchmark 命令

在两个节点之间建立 TCP 连接后,可以选择使用 benchmark 命令,用于在节点之间发送大量数据以进行测试 网络带宽和性能传输的字节数(以毫秒为单位) 以及 TCP 实际吞吐量将在 benchmark 结果中提供。

abort 命令

要立即异常地结束 TCP 连接,请运行 tcp abort 命令将 TCP 端点转换为关闭状态。

sendend 命令

当一个节点将数据发送到另一个节点后,第一个节点 发出 tcp sendend 命令以提醒第二个节点不再预期 数据。第二个节点也可以向第一个节点发送 tcp sendend。 每个节点收到 TCP: Disconnected 消息后,TCP 连接 进行负载均衡我们建议您(但并非强制要求) 在数据传输完成时发出此命令。

在两个节点之间发送消息

  1. 在节点 1 上,初始化 TCP CLI 模块,然后监听传入连接 使用示例 TCP 监听器。

    tcp init
    tcp listen :: 30000
    

    使用 :: 表示 listen 应使用未指定的 IPv6 地址。 从而让 TCP/IPv6 栈分配 IPv6 地址端口为 30000。

  2. 在节点 2 上,初始化 TCP CLI 模块,连接到节点 1,然后发送 简单信息。

    tcp init
    tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
    tcp send hello
    

验证

根据上面所示的示例步骤,预计会出现以下输出:

  • 在节点 2 运行 tcp connect 命令后,节点 2 应该会收到 消息 TCP: Connection established
  • 然后,节点 1 应接收这些消息(包括 IPv6 地址和端口示例): <ph type="x-smartling-placeholder">
      </ph>
    • Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
    • TCP: Connection established
  • 在节点 2 运行 tcp send 命令后,节点 1 应该会收到 消息 TCP: Received 5 bytes: hello