Надежный QTcpSocket :: write без waitForBytesWritten - PullRequest
0 голосов
/ 11 января 2019

Меня смущает ряд аспектов QTcpSocket::write.

  • Документация предполагает, что он может записать меньше байтов, чем длина отправляемого буфера. Это подразумевает, что несколько вызовов потенциально необходимы. Каков рекомендуемый способ решения этой проблемы (с учетом следующих пунктов)?
  • Моя первоначальная попытка вызова write не показалась для отправки каких-либо данных. Я обнаружил, что вызов waitForBytesWritten решил эту проблему. Если мне нужно несколько вызовов записи в соответствии с предыдущим пунктом, как мне использовать waitForBytesWritten в сочетании с ними? Связывать ли waitForBytesWritten с каждой записью или я повторяю цикл над write, а затем использую waitForBytesWritten.
  • Документация предполагает, что waitForBytesWritten может случайно произойти в Windows, поэтому в идеале Я не хочу на это вообще полагаться. Он предлагает вместо этого использовать сигнал bytesWritten, но я нашел очень мало информации о том, как правильно его использовать. В частности, если мне нужно разобраться со своей проблемой в первом пункте, не попаду ли я в ситуацию рекурсивного вызова, о которой говорится в документации bytesWritten?
...