ZHCAB54 March 2021 TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD
使用以太网电缆将 EK-TM4C1294XL LaunchPad 连接到以太网交换机或路由器,如图 5-6 所示。运行示例。打开“Terminal”窗口后,您应该会看到显示的 IP 地址(箭头 1 所指),并且服务器已准备就绪,如图 5-6 所示。记录此 IP 地址,因为客户端上需要此信息。最初,服务器将处于侦听状态,等待客户端与其连接因此,若要继续运行示例的其余部分,需要设置远程客户端。
使用的 SocketTest 工具将充当在 PC 上运行的客户端。确保 PC 连接到与 EK-TM4C1294XL 具有相同子网掩码的网络。
按照图 5-7 中所示的步骤设置客户端:
检查客户端发送给服务器的第二条消息“HOW are YOU today?”。如果您选择手动计数,可以计算出总长度为 20 个字节,包括两个 \n\r 转义字符。\n 是换行符,\r 是 ASCII 表中的回车符。
服务器回复了一条消息,称“Server received 20 bytes.Converting character case. how ARE you TODAY?”。首先,服务器收到的字符数确实是 20。服务器发回的整个消息的总长度为 73 个字节。
图 5-9 显示从客户端(IP 地址 192.168.254.75)到服务器(IP 地址 192.168.254.82)的相应消息。
当服务器发送消息时,它会等待客户端确认数据已成功接收。在 tcp_sent() 调用的回调函数中,服务器只在“Terminal”窗口上显示客户端确认的字节数,如图 5-9 所示。
另外,检查图 5-10 中服务器响应的 Wireshark 捕获。服务器(IP 地址 192.168.254.82)向客户端 (192.168.254.75) 发送 73 个字符的消息,客户端确认收到数据。
假设您让连接空闲,则服务器应用利用 tcp_poll() 每 5 秒定时触发回调函数,以显示服务器空闲了多长时间。在实际应用中,可以在关闭连接之前对内部空闲连接进行编程以节省电量。请参阅图 5-6 中的框 2,其中报告了如下内容:服务器自上个事务后已空闲 100 秒。