我正在使用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
?
答案 0 :(得分:0)
不,没有必要致电flush()
。 writeDatagram
方法具有即时效果。确保您使用的计时器为Qt::PreciseTimer
。
答案 1 :(得分:-1)
这取决于系统。但是可以使用flush来确保它尽快写入。在某些系统中使用waitForBytesWritten()就足够了。