Seite 1 von 1

Große Datei über QTCPSocket übertragen

Verfasst: 11. Oktober 2012 21:59
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ß

Re: Große Datei über QTCPSocket übertragen

Verfasst: 11. Oktober 2012 22:09
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().

Re: Große Datei über QTCPSocket übertragen

Verfasst: 11. Oktober 2012 22:18
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...

Re: Große Datei über QTCPSocket übertragen

Verfasst: 11. Oktober 2012 22:40
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.