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 

DataSocket Connection



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!

25.11.2019, 22:41 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2019 00:32 von jg.)
Beitrag #1

Muaadh Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Apr 2017

2013
2017
DE



DataSocket Connection
Hallo zusammen,

ich versuche momentan ein Multi-client TCP Server in LabVIEW zu entwickeln. Ich habe meinen Server nach diesem Schema aufgebaut (https://labviewcoder.com/2017/07/10/an-a...n-labview/ ).

Also es wird ein Reference VI (TCP Handler) asynchron aufgerufen, der die Arbeit verrichtet und der aktiv ist solange die TCP Verbindung vorhanden ist. Im TCP Handler wird ein SubVI (Open DataSocket) aufgerufen, der eine DataSocket für einen bestimmten URL aufmacht und die Reference-ID in einem Array speichert.

Ziel ist: die Datasocket Open soll nur einmal für jeden URL durchgeführt, wenn mehrere Client sich an TCP Server verbinden.

Es funktioniert einwandfrei. Aber wenn ich den Client, der die DataSocket geöffnet hat, schließe, schließt LabVIEW automatisch die DataSocket Sad. Also der Refernce VI (TCP Handler) schließt die DataSocket und es kommt dann ein Fehler bei den anderen Clients, die die gleiche Reference-ID verwenden. Ich will aber dass die DataSocket ofen bleibt, solange der Server läuft.

Hat jemand eine Idee, wie ich der automatischen "Close" der DataSocket vom TCP Handler verhindern kann ?.

Danke im Voraus für eure Unterstützung

Muaadh


Angehängte Datei(en)
13.0 .vi  TCP Server.vi (Größe: 21,63 KB / Downloads: 252)

13.0 .vi  TCP Handler.vi (Größe: 18,99 KB / Downloads: 234)

13.0 .vi  Open Datasocket.vi (Größe: 16,76 KB / Downloads: 277)

13.0 .vi  TCP Client.vi (Größe: 17,95 KB / Downloads: 255)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.11.2019, 11:29 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2019 18:25 von jg.)
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: DataSocket Connection
Das ist Standard in LabVIEW, sobald eine VI komplett geschlossen wird, werden alle Refnums geschlossen/beendet, die du in diesem VI geöffnet hast.

Sobald also dein Handler-VI beendet wird und zwecks dynamischen Start auch nicht mehr im Speicher, sind die Datasocket-Refnums ungültig.

Gruß, Jens

EDIT: Rolf hat das kürzlich noch besser erklärt:
https://www.labviewforum.de/Thread-TCP-m...#pid194542

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.11.2019, 19:41
Beitrag #3

Muaadh Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Apr 2017

2013
2017
DE



RE: DataSocket Connection
Hi Jens,

vielen Dank für deine Antwort.
Ich hab gerade die Erklärung von Rolf gelesen. Also es gibt leider keine Möglichkeit die Datasocket-Refnums "alive" zu halten.

Gruß,
Muaadh
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.11.2019, 20:15
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: DataSocket Connection
(26.11.2019 19:41 )Muaadh schrieb:  Ich hab gerade die Erklärung von Rolf gelesen. Also es gibt leider keine Möglichkeit die Datasocket-Refnums "alive" zu halten.
Nein, solange du die Refnums innerhalb eines SubVIs eines dynamisch gestarteten VIs erstellst.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.11.2019, 23:28
Beitrag #5

Muaadh Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Apr 2017

2013
2017
DE



RE: DataSocket Connection
alles klar.
Danke Jens
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DataSocket - alle Verbindungen anzeigen Marius89 2 2.790 10.03.2023 14:09
Letzter Beitrag: Marius89
  Problem mit Datasocket Ping Pong Hubert R. 6 5.647 10.11.2021 14:17
Letzter Beitrag: Martin.Henz
  OPC und DataSocket: Verstehe den Code nicht tuhpon 2 3.899 10.07.2019 14:53
Letzter Beitrag: tuhpon
  Mit Datasocket OPC schneller 1ms lesen? PreVIEW 4 6.155 25.08.2016 12:02
Letzter Beitrag: PreVIEW
  Datasocket: Programm auf Server starten kwakz 8 8.547 14.12.2014 15:51
Letzter Beitrag: kevin9r
  bitte Hilfe, wieder Problem bei Datasocket Lesen/Schreiben LabviewLearning 4 6.726 22.08.2014 08:58
Letzter Beitrag: LabviewLearning

Gehe zu: