Полезен ли вызов qt udpsocket flush?

Я использую QUdpSocket для записи справочных данных роботу.
Я надеюсь, что передача может быть в режиме реального времени, насколько это возможно.
Вот что я делаю сейчас:

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

Таймер запускает вышеуказанный код на частоте 50 Гц.
Нужно ли звонить flush в этом случае после вызова writeDatagram?

0

Решение

Нет, звонить не надо flush(), writeDatagram Метод имеет мгновенный эффект. Убедитесь, что таймер, который вы используете Qt::PreciseTimer,

0

Другие решения

Это зависит от системы. Но можно использовать flush, чтобы убедиться, что он напишет как можно скорее. В некоторых системах достаточно использовать waitForBytesWritten ().

-1

По вопросам рекламы [email protected]