25.11.2019, 22:41
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 . 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
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 . 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