LabVIEWForum.de - Keine Antwort über TCP

LabVIEWForum.de

Normale Version: Keine Antwort über TCP
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich baue mit meinem VI eine Verbindung zu einem Server auf. Auf diesem Server
läuft ein eigenständiges Programm, das auch erkennt wenn ich mit meinem VI
auf ihn zugreife.
Dieser Server schickt auch laut WireShark eine Antwort an den Client.
Ich kann aber gar nix erkennen. Hat mir jemand einen Tip ?

Danke im voraus.

Gruß
Günter

LV8.5

Wacko
Nur so eine dumme Idee, aber TCP Read hat einen Eingang der angibt wieviele Bytes denn gelesen werden sollen. Dieser Eingang sollte eigentlich angeschlossen sein.

Rolf Kalbermatter
CIT Engineering Netherlands BV
Hallo,

danke für den Tipp.
Das hilft mir ein Stück weiter. Ich habe jetzt mit einem anderen abgeänderten Beispiel endlich
etwas empfangen können.
Jetzt das nächste Problem.
Ich bekomme vom Server zuerst den Eintrag Username geschickt.
Diesen muss ich eintragen und sollte wieder eine Antwort (Password) bekommen.

Wie kann ich diesen Eintrag an den Server schicken ?

LV8.5

Danke und Gruß
Günter
Worauf du jetzt raus willst, verstehe ich leider nicht. Wo wird was eingetragen?

Aber in deinem Upload sind 2 gravierende Fehler:

1. Wenn du zuerst die Größe des Datenpakets sendest (eigentlich eine gute Idee), dann sollte dein erste Lesevorgang nur dieses Paket auslesen, also 4 Bytes!
[attachment=21900]
2. Natürlich sollten Schreib- und Lese-Cluster dasselbe Datenformat haben. Momentan hat dein "Schreibcluster" 2 Strings, dein "Lesecluster" nur 1 String. Nicht gut!

Gruß, Jens
Hallo,

sobald ich mit dem Server eine Verbindung aufnehme,
mit "TCP:Verbindung herstellen" bekomme ich
"Username:" am Hilfsanzeigeelement "Daten (Ausgang)" gesendet.
Jetzt wartet der Server auf den Eintrag "Endgerätetest" den
der Client senden soll.

Wie kann ich diesen senden ?

zu 1.
ich muss 9 Bytes an "TCP:Lesen" einstellen um den Eintrag
"Username:" lesen zu können. (an "Daten (Ausgang)")
zu 2.
ich habe im Schreibcluster jetzt ein String gelöscht.
Jetzt bekomme ich immer noch "Username:" gesendet,
aber es kommt die Warnmeldung "Nicht genügend Speicher
zum Abschließen dieser Operation"

Víelen Dank und Gruß
Günter
' schrieb:Hallo,

sobald ich mit dem Server eine Verbindung aufnehme,
Welcher Server? Wo kommt der jetzt her? Du weißt doch, die Glaskugel ist kaputt.Glas2

Dein letzter Upload enthält parallel eine Schreib- und eine Lese-Loop.
Schreiben tust du in diesem VI bei auslösen eines Events. Dabei schreibst du in der Form "Anzahl der Bytes" als U32 (das sind dann 4 Bytes!) und dann deine Daten, als flattened String. OK.

Und das bekommt doch dann deine Lese-Loop mit? Oder nicht? Und dann musst du in der Lese-Loop natürlich genauso vorgehen, erst mal die Größe des Datenpakets (wieder eine U32, also 4 Bytes) einlesen, dann das Daten-Paket.

Gruß, Jens
Hallo,

den Server habe ich bei meiner ersten Anfrage erwähnt.
Da ich "Username :" an meinem Leseloop erhalte kann ich wohl auch lesen.
Bloß schreiben kann ich noch nicht.
Ich muss mal den Ablauf nacheinander mit einer Sequenz ausprobieren.

Danke und Gruß
Günter
Referenz-URLs