Недавно я запрограммировал передачу файлов с помощью Qt. Думал, что это сработало, мне все еще интересно, что случилось. Пожалуйста, помогите мне выяснить причину. Большое спасибо. ?Размер QByteArray сложно вычислить?
Почему размер головы больше, чем сумма SizeOf (qin32), SizeOf (qint32) и длина имени файла (я предполагаю, что это является причиной функции - SetVersion())
QFileInfo info(file_to_send.fileName());
QByteArray head;
QDataStream out(&head, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_5_0);
out << qint32(file_to_send.size() + info.fileName().length() + sizeof(qint32)*2)
<< qint32(info.fileName().length())
<< info.fileName();
tcpClient.write(head);
Глава клиента Размер: 40 | Клиентский заголовок: [252592] [14] ["Screenshot.png"] – Leo