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);
}

你可能感兴趣的:(Qt,qt5,tcp,c++)