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 

Senden und Empfangen über TCP/IP localhost



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!

11.07.2007, 10:02 (Dieser Beitrag wurde zuletzt bearbeitet: 11.07.2007 10:03 von rolfk.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Senden und Empfangen über TCP/IP localhost
' schrieb:Hallo,

vielleicht kann mir hier jemadn helfen.
Möchte einen String über eine TCP Verbindung senden und Empfangen. Ziel soll der localhost mit der Portnummer 1234 sein.
Hiermit will ich Daten aus LabVIEW einem anderen Programm zur Verfügung stellen.
Empfangen funktioniert, jedoch macht das Senden Probleme. Der Aufbau ist der identsiche wie bei Empfangen, mit dem
Unterschied, dass TCP schreiben eingefügt wurde.
Beim Ausführen erfolgt Fehler 63.
Lesen und Scheiben sind in einer Sequenz hintereinander.
Füge beide Sequenzen mit der Fehlermeldung bei.

i2dx hat es schon angesprochen. Das wahrscheinlichste Problem ist: wie weiss der Empfänger dass jetzt alle Daten angekommen sind. Dazu gibt es grundsätzlich verschiedene Ansätze. Für Text basierte Protokolle wird dabei meist ein <CR><LF> Zeilenumbruch angefügt. Für binäre Protokolle wird meist im Datenstrom eine explizite Länge vorangestellt oder ein spezifischer Character reserviert als Ende-Zeichen.

Wenn Du die default Einstellung bei TCP Read verwendest beendet LabVIEW den Lesevorgang automatisch nach dem Lesen der entsprechenden Anzahl Bytes oder dem Timeout und liefert Dir die Daten zurück. Falls Du ein Text basiertes Protokoll hast wäre es aber wahrscheinlich sinnvoll den TCP Read Mode auf CRLF zu setzen, damit das Lesen nicht unnötig bis zum Ablauf des Timeouts hängen bleibt.
Beim Schreiben fügt LabVIEW nicht automatisch ein <CR><LF> ans Ende des Strings, Das musst Du schon explizit selber tun, ansonsten könnte man ja das TCP Write VI nicht benützen um auch binäre Protokolle zu implementieren. Ohne <CR><LF> wartet Dein Client aber wahrscheinlich ewig ohne das eigentlich bereits komplett empfangene Kommando je als gültig zu erkennen.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Senden und Empfangen über TCP/IP localhost - rolfk - 11.07.2007 10:02

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Trigger Signal über SCPI senden Greensche 17 9.659 27.07.2016 10:18
Letzter Beitrag: GerdW
  User Events in multiplen VIs empfangen Kasi 2 3.585 03.06.2014 13:48
Letzter Beitrag: Kasi
  Daten empfangen und anzeigen -X-plosiv 7 6.412 02.03.2012 11:51
Letzter Beitrag: -X-plosiv
  String formatieren und über GPiB senden Index 2 4.582 15.06.2011 15:19
Letzter Beitrag: Index
  file.txt senden/empfangen funk 12 9.137 31.07.2009 08:24
Letzter Beitrag: Y-P

Gehe zu: