LabVIEWForum.de - TCP: was liegt an port an

LabVIEWForum.de

Normale Version: TCP: was liegt an port an
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
bei VISA gibt es doch einen eigenschaftsknoten um zu gucken wieviele bytes am port anliegen. gibt es das gleiche auch für TCP?
Mein Problem ist, dass das TCP read wartet bis daten da sind. wenn lange keine daten anliegen gibt es einen timeout fehler. das möchte ich nicht, weil es gut sein kann das ich ne halbe stunde oder noch länger keine daten bekomme.
das heißt das programm soll nur 0.5 sekunden warten ob daten anliegen wenn nicht, dann soll es einfach weiter ausgeführt werden.
jemand ausm forum hatte mir da eine lösung gegeben (bei rs232) die das macht. nur kann ich die nicht für tco anwenden, weil es da keinen "flush I/O buffer" und nicht den genannten eigenschaftsknoten gibt...
köntn ihr mir helfen?
Schau mal nach "TCP: auf Signal warten". Des kommt dem doch nahe, oder?
Aber...warum nich einfach den Timeout-Fehler in eine Warnung umwandeln?
Wie geht das umwandeln??ß und.. ich will eigentlich auch keien warnung haben... hab da noch nicht viel mit gearbeitet...
Ist "TCP: auf signal warten" ein beispiel oder eine funktion?
ich find das nämlich in beiden nicht...
Was ist das? und wo finde ich es?
ich habe überall gesucht und nichts gefunden...

lieben gruß
' schrieb:Was ist das? und wo finde ich es?
ich habe überall gesucht und nichts gefunden...

lieben gruß
Hey, Doppelpostings derselben Frage sind hier nicht erwünscht -> Zusammengeführt.

Nun zur Frage: Ich weiss es zwar nicht sicher, aber ich nehme mal an, dass macces die folgende Funktion gemeint hat:
[attachment=15892]

MfG, Jens
die funktion wartet aber nur auf eine netzwerkverbindung...
ich brauche aber etwas damit die tcp read funktion keinen fehler mehr ausspuckt wenn das time out abgelaufen ist. wenn keine daten da sind nach der timeout zeit soll die read funktion einfach ne null weitergeben.
geht das irgendwie?
' schrieb:die funktion wartet aber nur auf eine netzwerkverbindung...
ich brauche aber etwas damit die tcp read funktion keinen fehler mehr ausspuckt wenn das time out abgelaufen ist. wenn keine daten da sind nach der timeout zeit soll die read funktion einfach ne null weitergeben.
geht das irgendwie?

Das kannst/musst du halt selber machen. Du kannst ja den Error-Cluster verändern. ... und das Error Handling nicht auf automatisch (Optionen, Block Diagram)

z.Bsp so:
' schrieb:Mein Problem ist, dass das TCP read wartet bis daten da sind. wenn lange keine daten anliegen gibt es einen timeout fehler. das möchte ich nicht, weil es gut sein kann das ich ne halbe stunde oder noch länger keine daten bekomme.
das heißt das programm soll nur 0.5 sekunden warten ob daten anliegen wenn nicht, dann soll es einfach weiter ausgeführt werden.
jemand ausm forum hatte mir da eine lösung gegeben (bei rs232) die das macht. nur kann ich die nicht für tco anwenden, weil es da keinen "flush I/O buffer" und nicht den genannten eigenschaftsknoten gibt...
köntn ihr mir helfen?

Ganz einfach. Mach ein GPIB Read mit dem von Dir gewünschten Timeout. Wenn nichts da ist kommt der halt mit einem Timeout Error aber das ist doch nicht schlimm. Darauf checken und in dem Falle den Error im Error Cluster wieder auf False setzen und dann den Rest machen. Bei keinem Error, halt mit den empfangenen Daten was machen.

Bei Instrumentenkommunikation ist ein Fehler bei einer Kommunikation halt nicht immer ein wirklicher Fehler sondern muss spezifisch ignoriert werden. Absolut keine Katastrophe.

Rolf Kalbermatter
Referenz-URLs