本文主要是介绍QTcpSocket 接收数据实时性问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、开发背景
使用 Qt 的 QTcpSocket 接收数据的时候发现数据接收出现粘包的现象,并且实时性很差,通过日志的时间戳发现数据接收的误差在 100ms 以内。
二、开发环境
Qt5.12.2 + QtCreator4.8.2
三、实现步骤
在 socket 连接的槽函数设置接收延时时间,默认时间是100ms,这里可以适当减小刷新的时间周期。这里设置刷新周期是 1ms。
/* 客户端接入槽函数 */
void TcpServer::slotNewConnect(void)
{/* 获取连接的客户端句柄 这里设置刷新数据时间 1ms */QTcpSocket *pSocket = m_pServer->nextPendingConnection();pSocket->setSocketOption(QAbstractSocket::LowDelayOption, 1);
}
这篇关于QTcpSocket 接收数据实时性问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!