调用qt udpsocket flush是否有用?

时间:2017-03-08 03:37:14

标签: c++ qt qudpsocket

我正在使用QUdpSocket将参考数据写入机器人。 我希望传输可以尽可能实时。 这就是我现在正在做的事情:

if (dataBuffer.count() > 0)
{
    int numWritten = udp_socket->writeDatagram(dataBuffer.left(64), t_host, t_port);
    if (numWritten > 0) { dataBuffer.remove(0, numWritten); }
}

定时器以50Hz触发上述代码。 在writeDatagram调用之后是否有必要在这种情况下调用flush

2 个答案:

答案 0 :(得分:0)

不,没有必要致电flush()writeDatagram方法具有即时效果。确保您使用的计时器为Qt::PreciseTimer

答案 1 :(得分:-1)

这取决于系统。但是可以使用flush来确保它尽快写入。在某些系统中使用waitForBytesWritten()就足够了。