Große Datei über QTCPSocket übertragen

Alles rund um die Programmierung mit Qt
Antworten
ptron
Beiträge: 9
Registriert: 13. August 2012 15:18

Große Datei über QTCPSocket übertragen

Beitrag von ptron »

Hallo,

ich versuche gerade ein Programm zu schreiben, dass es mir erlaubt größere Dateien zwischen einem Server und einem Client per Socket zu übertragen. Eine Verbindung herzustellen und Befehle auszutauschen klappt , nur jetzt stelle ich mir die Frage wie lese ich zb eine 200 MB große rar Datei ein und schiebe sie in das Socket ?Meine Idee währe, alles in kleine Packete aufzuteilen ( einlesen mit QTextstream ), zu senden und im Client wieder zusammenzusetzen. Aber wie erstelle ich jetzt eine rar Datei auf dem Client um dort die Datein rein zu schieben ? Ich möchte das per QTCPSocket und nicht mit ftp machen !

Gruß
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Große Datei über QTCPSocket übertragen

Beitrag von Christian81 »

1. Eine Datei sind Binärinformationen, da ist QTextStream definitiv nicht das richtige
2. Wie viele Daten du im QTcpSocket überträgst ist dem Socket erstmal egal. Zum Schreiben und Lesen hat QTcpSocket ja die beiden Funktionen read() (inklusive dem Signal socketRead()) und write().
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ptron
Beiträge: 9
Registriert: 13. August 2012 15:18

Re: Große Datei über QTCPSocket übertragen

Beitrag von ptron »

wollte eigentlich QDataStream schreiben...
Das Übertragen ist kein Problem, mein Problem liegt im Einlesen und im wieder Zusammensetzen, da weis ich gerade nicht wie ich anfangen soll...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Große Datei über QTCPSocket übertragen

Beitrag von Christian81 »

Habe ich doch geschrieben - Signal readRead() wird ausgelöst wenn Daten anliegen. Die Daten kannst Du dann mit read() lesen und in eine Datei schreiben.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten