INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dateiempfang unbekannter Größe über TCP



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.02.2021, 14:32
Beitrag #11

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.744
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Dateiempfang unbekannter Größe über TCP
(04.02.2021 09:29 )Martin.Henz schrieb:  Hallo Jens,

nimms mir nicht übel, aber es gibt einen Fall bei dem dein Beispiel nicht funktioniert.

Das Beispiel liest maximal 5000 Zeichen pro Iteration der While-Schleife. Wenn nun also die 5000 Bytes bei Iteration n erreicht sind und dies dummerweise mit dem CR endet, dann kommt erst bei der nächsten Iteration n+1 das LF Zeichen. Die Schleifenbedingung findet in diesem Fall jedoch das CRLR nicht und liest einfach weiter Daten vom Server.
Offtopic2
Hallo Martin,

nehm ich dir nicht übel, damit liegst du vollkommen richtig. Diese Sondergeschichte muss man noch mit abfangen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.02.2021, 15:02
Beitrag #12

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 115
Registriert seit: Jul 2011

2018
2011
EN

70***
Deutschland
RE: Dateiempfang unbekannter Größe über TCP
(04.02.2021 14:32 )jg schrieb:  Diese Sondergeschichte muss man noch mit abfangen.
Hab nochmal meinen letzten Stand hier angehängt, bevor ich das in ein SubVI packe.
Scheint hiermit zu funktionieren, sofern es nur einmal zerhackt wird, ...wovon ich jetzt einfach mal ausgehe.

Danke für die Tipps!
Timo


Angehängte Datei(en) Thumbnail(s)
   

"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."
Johann Wolfgang von Goethe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2021, 15:37 (Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2021 15:43 von Martin.Henz.)
Beitrag #13

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 271
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Dateiempfang unbekannter Größe über TCP
Hallo Timo,

diese "$" Zeichen am Ende führt einfach dazu, dass das Suchmuster am Ende des Strings stehen muss. Das ist bei maximal 524288 Bytes und einem Timeout von einer Sekunde hoffentlich immer der Fall?

Ich war auch etwas zu schnell an der Tastatur. Wenn das TCP Read beendet wird, weil ein Timeout aufgetreten ist oder weil die angegebene Anzahl Bytes erreicht wurde und zu allem Übel das letzte Zeichen ein CR ist, dann funktioniert das mit dem CRLF nicht mehr. Da bleibt das LF im Empfangspuffer hängen und auch TCP Read realisiert nicht, dass mit CRLF die Endekennung empfangen wird. Wenn das auftreten kann, dann ist das ein etwas blöder Fall, weil nur wegen dieses eher seltenen Falles das einlesen der Daten nicht mehr so schön funktioniert.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: