Problem mit großen Netzwerkübertragungen

Alles rund um die Programmierung mit Qt
Antworten
prof_maad
Beiträge: 40
Registriert: 25. September 2005 14:33
Wohnort: /root/

Problem mit großen Netzwerkübertragungen

Beitrag 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
JMK1980
Beiträge: 1
Registriert: 20. Juni 2006 19:49

Beitrag 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
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Re: Problem mit großen Netzwerkübertragungen

Beitrag 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....
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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...
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag 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.
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag 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....
nalpak01
Beiträge: 20
Registriert: 25. November 2005 22:15

Beitrag 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?!
Antworten