Daten von QFile in QTcpSocket kopieren
Verfasst: 19. Mai 2008 21:26
Hallo!
Hab da mal eine kurze Frage, da ich nicht weiß wie QFile und QTcpSocket intern arbeiten.
Ich möchte Daten von einem QFile in ein QTcpSocket schreiben.
Was ist performanter, bzw. wie würdet ihr es machen?
oder schlicht
Da die Dateien sehr groß sein können (durchaus mal 2GB), bereitet mir Letzteres auch noch bei heutigen RAM-Preisen Bauchschmerzen, falls es dabei kein Memory Mapping o.ä. gibt! Welche Rolle spielt evnt. das Betriebssystem?
Oder gibts vielleicht einen anderen, besseren Weg, Daten aus verschiedenen QIODevice-Objekten hin- und her zu kopieren?
1000 Dank!
Marco
Hab da mal eine kurze Frage, da ich nicht weiß wie QFile und QTcpSocket intern arbeiten.
Ich möchte Daten von einem QFile in ein QTcpSocket schreiben.
Was ist performanter, bzw. wie würdet ihr es machen?
Code: Alles auswählen
#define BLOCKSIZE 8192
char *data = new char[BLOCKSIZE];
quint64 read = device->read(data, BLOCKSIZE);
while (read > 0) {
tcpSocket.write(data, read);
read = device->read(data, BLOCKSIZE);
}
delete[] data;
Code: Alles auswählen
tcpSocket.write(device->readAll());
Oder gibts vielleicht einen anderen, besseren Weg, Daten aus verschiedenen QIODevice-Objekten hin- und her zu kopieren?
1000 Dank!
Marco