SocketTest 工具将在 PC 上作为客户端运行。确保 PC 连接到与 EK-TM4C1294XL 具有相同子网掩码的网络。
按照图 7-1 中所示的步骤设置 SocketTest:
- 转到“Udp”选项卡。
- 输入 PC 的 IP 地址和端口号 23,然后按下“Start Listening”按钮。服务器 IP 地址应为运行 SocketTest 的 PC 的地址。若要查找 PC 在网络中的 IP 地址,可以使用 Windows 的 ipconfig 命令。打开一个 Windows 命令窗口,在提示符下键入“ipconfig”,然后将能看到分配给 PC 的 IP 地址。请注意,在 SocketTest 中,无论 PC 是实际的服务器还是客户端,服务器地址字段都将是 PC 的地址。SocketTest 只监听指定地址的任何传入数据。
- 在“IP Address for Client”中输入 MCU 的 IP 地址。分配给 MCU 的 IP 地址显示在 CCS“Console”窗口中。
- 转到“Message”(消息)字段并输入一些消息,然后点击“Send”(发送)按钮。
- 查看 SocketTest 中的对话字段。
检查图 7-2 中 Wireshark 捕获的 UDP 流量。
- 帧号 15351 是从服务器(IP 地址 192.168.254.92)到客户端(IP 地址 192.168.254.69)的第一个回传消息。
- 长度为 49 字节,如果我们数一下消息“This is a UDP Echo Server example for TI-RTOS NDK\n\r”的长度,就不会感到奇怪了。另外,看一下端口号。PC(客户端)的端口号是 60766,而 MCU(服务器)的端口号是 23。60766 与图 7-2 中输入的内容不同,原因是客户端从未显式选择要绑定到的 UDP 端口。客户端的栈只是选择一个当前可用的 UDP 端口来隐式绑定发送的 UDP 套接字,这个端口每次都可能不同。但是,在 MCU 上运行的 NDK 栈配置为绑定到端口 23。