通信延迟大导致连接实时性要求较高的仪表时数据通信异常

Author: shiwen0536Created Dec 12, 2024Updated Dec 12, 2024

在项目中基于TCP客户端连接数据测量仪器,一帧数据包含数十个TCP数据包,但是由于TCP机制接收实时性差,在本软件基础上增加了通信超时检测机制,结果导致最终接收至槽函数的时间间隔变大,分析了以下原因: 1.TCP窗口可靠性机制导致的链路层数据拥塞(wireshark抓包结果),已经通过优化下位机对齐窗口方式解决; 2.在接收槽收到数据发生延迟:原因为信号槽机制本身延迟和网络底层到QT的本身延迟,已经长运测试证实了QT的信号槽机制确实存在0-100ms甚至更大的延迟; 诉求: 1.通信能否增加线程保证其高效低延时运行? 2.通信(串口和网口等)能否使用第三方库并增加驱动层接收时间戳,以提升实时性,并更准确的获取通信数据包的时间间隔?(QT提供的串口和网口底层跨平台接口太简陋了)

Source: Serial-Studio/Serial-Studio