LabVIEWForum.de
TCP Nachricht wird fehlerhaft übermittelt - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: TCP Nachricht wird fehlerhaft übermittelt (/Thread-TCP-Nachricht-wird-fehlerhaft-uebermittelt)



TCP Nachricht wird fehlerhaft übermittelt - Bishop - 16.06.2015 15:16

Hallo nochmal, nach dem mir eben so schnell und einfach geholfen wurde hoffe ich nun auf ähnlich schnelle Hilfe.

Mein Problem ist dieses mal folgendes. Ich habe unten zur Erläuterung bei Programme als bild angehängt. Wenn ich mit dem Ersten, simpleren Programm eine vorgefertigte Nachricht in mein Netzwerk schicke, wird diese wie gewünscht übermittelt. also alle 0,8 Sek einmal.

Schicke ich nun die gleiche Nachricht mit dem Zweiten komplexeren Programm in dem die Nachricht eigenständig erstellt wird und nicht vorgegeben ist, so wird die nachricht in mit einem mal doppelt so lang, also in meinem falle von 26 Bytes auf 54 und nurnoch alle 1,6 sekunden. Die Anzeige zur Länge der Bytes sagt mir jedoch, dass alle NAchrichten die Länge 26 Bytes haben
Ich tracke alle ausgehenden Nachrichten mit Wireshark und gehe solangsam davon aus dass der Fehler nicht bei Labview liegt, sondern an anderer Stelle.
Könnt ihr mir vielleicht weiterhelfen, ob ich beim umbauen der Programme etwas übersehen habe, wodurch die ausgehende TCP nachricht fehlerhaft wird

Beste Grüße


RE: TCP Nachricht wird fehlerhaft übermittelt - jg - 16.06.2015 16:14

Offensichtlicher Unterschied: In V1 arbeitest du mit einem endlichen Time-Out, in V2 dagegen unendlich.

Gruß, Jens


RE: TCP Nachricht wird fehlerhaft übermittelt - BNT - 16.06.2015 17:54

Da schlägt wohl der Nagle-Algorithmus zu. Die TCP-Funktonen senden die Daten nicht sofort, sondern erst, wenn der eingestellte Buffer gefüllt ist, oder ein Timeout, Default: meist 100ms, abgelaufen ist. Bei kleinen Telegrammgrößen, passen mehre in einen Buffer und werden gemeinsam versendet.

Das widerspricht aber Deiner Beobachtung mit Wireshark. Sind es wirklich für jedes Send verschiedene TCP/IP-Packete? Prüfe das doch noch eimal.

Gruß Holger