-->QTcpSocket,QTcpServerを使ってプログラムを書いています。パケットが配信されることを保証するために、何らかのコード (つまり、確認手順) を追加する必要がありますか?
もしそうなら、ネット上ではそのようなものは見つけられなかったので、いくつか例を見てみたいと思います。
-->QTライブラリのどこかで、これらはすでにカバーされているので、そのようなものは必要ありませんか?
どんな助けでも大歓迎です。ありがとう。
編集:今、私は以下に追加した QDataStream のチャンクでヘッダーを使用する方法を尋ねています。どの部分が書き込まれているか、どの部分が欠落しているかを追跡できるように、すべてのチャンクに情報を伝えるヘッダーが必要です。以下をご覧ください。
///RECEIVER SIDE
QDataStream in(socket);
in.setVersion(QDataStream::Qt_4_0);
QByteArray next;
next=socket->readAll();
QFile output("c:\\some\\output.txt");
output.open(QIODevice::Append);
output.write(next);
output.close();
///SENDER SIDE
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
QFile file(path);
if(file.exists()){
file.open(QIODevice::ReadOnly);
}
QByteArray data;
data=file.readAll();
block.append(data);
out << (quint64)0;
out.device()->seek(0);
if(!socket->waitForBytesWritten()){
qDebug()<<"writing";
socket->write(block);
socket->flush();
}
file.close();
qDebug()<<"data: size"<<file.size();
socket->disconnectFromHost();