LabVIEWForum.de
TCP IP - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: TCP IP (/Thread-TCP-IP)

Seiten: 1 2


TCP IP - ah90 - 14.02.2010 18:41

hallo zusammen,

ich bin neu in diesem Forum, hab mich schon ein bisschen umgesehen und muss sagen hier sind Experten am Werken.

Nun aber zu meinem Problem:

Ich möchte mit einem Java Programm über TCP IP kommunizieren. Das Senden aus dem LabVIEWprogramm funktioniert einwandfrei, das Java Programm erkennt den gesendeten String und kann ihn auch lesen. Darauf soll das Java Programm einen String ans LabVIEW Programm zurückschicken, den ich in einem Anzeigeelment darstellen möchte. Aber das Anzeigeelment bleibt leer. Das Javaprogramm schickt ganz sicher einen String zurück, dass habe ich mit einem selbstprogrammierten Java Client getestet. Ich versteh einfach nicht warum das nicht geht.

lg


TCP IP - GerdW - 14.02.2010 18:58

Hi ah90,

eine erste (aber leider immer wieder vergessene) Möglichkeit zur Fehlersuche besteht im Verdrahten des Error-Clusters von einer Funktion zur nächsten. Wenn man dann noch einen Indicator erstellt, sieht man die Fehlermeldung auch noch...

Wenn du das erledigt hast und uns sagen kannst, ob und wenn ja welche Fehler angezeigt werden, einfach nochmal melden!


TCP IP - ah90 - 14.02.2010 19:20

hi,

danke für deine Antwort, habe die Errors miteinander verbunden und einen Errorindikator dran gehängt.

Dieser hat aber leider keinen Fehler angezeigt.

lg


TCP IP - IchSelbst - 14.02.2010 19:48

' schrieb:Darauf soll das Java Programm einen String ans LabVIEW Programm zurückschicken, den ich in einem Anzeigeelment darstellen möchte. Aber das Anzeigeelment bleibt leer.
Guckst du Hilfe zu TCP:Lesen.
Da steht, das im Mode Standard die Anzahl der angegebenen Bytes gelesen wird. Da du Standard gewählt hast und als Anzahl Null - wird eben nichts gelesen.

Schließe am Eingang "Anzahl zu lesender Zeichen" einen Wert <> Null an. Ansonsten, steht in der Onlinehilfe, wie man bei der DÜ vorgehen soll.


TCP IP - eg - 14.02.2010 21:37

Das Problem liegt an der Anzahl der Zeichen, die du lesen musst. Schicke einfach die Länge des Strings vornedran, damit du weisst wie viel du danach lesen musst.


TCP IP - ah90 - 14.02.2010 21:44

hi,
danke für eure antworten.

meinst du zb. so "5Hallo"??

lg


TCP IP - IchSelbst - 14.02.2010 22:00

' schrieb:meinst du zb. so "5Hallo"??
Kann man so machen.

Du brauchst aber immer zwei Lesebefehle. Einer, der ein Zeichen liest: nämlich die "5" (also: Den Wert Eins an den Anzahl-Eingang). Der zweite Lesebefehl liest dann die nächsten 5 Zeichen - also "Hallo". Dazu muss natürlich die "5" als Zahl am Anzahl-Eingang angeschlossen werden.

Du könntest aber auch folgendes probieren: Stell den Mode auf CRLF und sende "Hallo"+CRLF. Dann sollte ein Lesebefehl reichen.


TCP IP - ah90 - 15.02.2010 11:28

hi,

danke für eure Antworten.

Ich bekomme es einfach nicht hin.

Das mit crlf mode hat auch nicht funktioniert.
Zum Schluss habe ich mal folgendes ausprobiert. Mode auf ganz normal, und 1Byte einlesen. Das Javaprogramm sendet "3einrn" oder "3ausrn" als Antwort. Dann sollte eigentlich der 3er in den indikator geschrieben werden, oder?

Im error out trat folgender Fehler auf: TCP Read in Client2.vi

lg


TCP IP - IchSelbst - 15.02.2010 12:21

' schrieb:Das mit crlf mode hat auch nicht funktioniert.
Schlecht. Pccrash

Zitat:Mode auf ganz normal, und 1Byte einlesen. Das Javaprogramm sendet "3einrn" oder "3ausrn" als Antwort. Dann sollte eigentlich der 3er in den indikator geschrieben werden, oder?
Jawohl. So testet man das und "3" sollte dann drinnstehen. Pccrash

Jetzt kann ich gerade nichts mehr empfehlen. Muss ich selbst mal ausprobieren.

Zitat:Im error out trat folgender Fehler auf: TCP Read in Client2.vi
Welcher genaue Fehler tritt auf. Das sollte aus dem Fehlertext hervorgehen: Timeout? Oder "Verbindung fehlt?"? Oder?


TCP IP - ah90 - 15.02.2010 13:42

hi,

es ist ein Timeout Fehler

lg