Seite 1 von 1

Problem mit großen Netzwerkübertragungen

Verfasst: 20. Juni 2006 17:02
von prof_maad
Hi ihr alle,

ich habe derzeit ein großes Problem mit meinem Projekt.

Ich übertrage an einer Stelle große Strings (über 1 MB), die ein XML-Dokument als String enthalten, per TCP-Socket über ein Netzwerk.

Diese werden vom Client an den Server gesendet, welcher sie mit "readAll()" ausliest.

Allerdings wird von den großen Übertragungen nur der Anfang angenommen.
Dann behauptet der Server. er sei fertig.

Hat jemand eine Idee, was der Grund für diesen Fehler sein könnte.

Danke im Voraus und Ciao,

Prof. MAAD

Verfasst: 20. Juni 2006 19:58
von JMK1980
Hallo,

ich bin mir nicht ganz sicher aber ich würde vermuten dein Problem hängt damit zusammen das noch nicht alle Bytes deiner Übertragung angekommen sind. Am besten siehst du dir dazu mal folgendes an :

http://doc.trolltech.com/4.1/network-fortuneclient.html

Gruss

JMK

Re: Problem mit großen Netzwerkübertragungen

Verfasst: 20. Juni 2006 21:58
von patrik08
prof_maad hat geschrieben:Hi ihr alle,
Ich übertrage an einer Stelle große Strings (über 1 MB), die ein XML-Dokument als String enthalten, per TCP-Socket über ein Netzwerk.
Heute hatte ich boese ueberaschung mit qt netzwerk .... einen ca. 0.7 MB datei von php geliefert ... mit firefox kommt sie normal als donwload mit qt bekomme ich php als vollen plain text.... den php source file... und dass im password bereich ... von einem webdav server .... dass selbe file mit get password & user mit libcurl kommt geparset kommt richtig ... und dass post mit password auch....

Fuer sichere uebertragung ohne risiko habe ich also libcurl lieber... http://curl.haxx.se/ hin und retour.... zu server....

Verfasst: 21. Juni 2006 00:13
von upsala
Der Client empfängt solange Daten bis das Signal disconnected kommt. Und da eine Netzwerkübertragung meistens blockweise erfolgt, kannst du solange readAll benutzen bis alle Blöcke übertragen wurden.

Patrik08: Eine fehlerhafte Konfiguration des Webservers ist nicht Thema dieses Forums...

Verfasst: 21. Juni 2006 09:15
von BartSimpson
Das würde ich auch sagen.
Denn das muste bei deinem Webserver zur Last legen und nicht Qt, wenn du den Quellcode deiner php Seite bekommst.

Verfasst: 21. Juni 2006 10:20
von patrik08
upsala hat geschrieben: Patrik08: Eine fehlerhafte Konfiguration des Webservers ist nicht Thema dieses Forums...
Weist du ueberhaubt wass ein Webdav server ist?

dort gibt es 2 methoden von PUT und 2 von GET..... auf dem selben port...

Richtig wird es interpretriert von:
(ohne user & pass)

Code: Alles auswählen

http = new QHttp(this);
http->setHost(urls.host(),80);
(ohne user & pass sowie mit ....)
Safari mac, ie 6 , firefox , libcurl, lynx, wget .. uns.. sicher noch mehr...


Falsch hingegen mit

Code: Alles auswählen

      
http = new QHttp(this);
http->setHost(urls.host(),80);
http->setUser( current_user , current_pass );
Nur user & pass macht eine falsche request da er 2 anfrage macht ...
eine richtig GET und die zweite falsch... da die pass senden mit qt im PUT geht.... und sich der webdav server einschlatet als ob es eine festplatte ist zu mounten.....

nur wenn mann im webdav alias "ForceType text/plain" wegnimmt kann qt die php file parsen..... jedoch danach sind auf der gemountete festplatte auch alle php file geparset....

Verfasst: 24. Juni 2006 00:10
von nalpak01
@Patrik08: Mann, jetz hör doch mal auf fremde Threads mit deinen Problemen zu vergewaltigen und die Leute dann auch noch als ahnungslos zu beschimpfen?!