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 

Kommunikation zwischen verschiedenen Rechnern (z.B. TCP/IP) als Kette



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!

20.08.2008, 14:40
Beitrag #1

Matrim Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2008

8.5
2008
de

0
Deutschland
Kommunikation zwischen verschiedenen Rechnern (z.B. TCP/IP) als Kette
Hallo,

ich habe mir die Beispiele zur (einfachen) Kommunikation Client/Server via TCP/IP angeschaut und ausprobiert.

Kann ich diese entsprechend abwandeln, um folgendes Szenario zu erzielen:

n - Rechner kommunizieren in einer Kette, d.h. alle bis auf den letzten Rechner senden und erhalten Daten von ihrem Nachfolger SOWIE alle bis auf den ersten Rechner senden und erhalten Daten von ihren Vorgänger.

Als Skizze: (1) <--> (2) <--> (3) <--> ... <--> (n-1) <--> (n)

Bzw. was müsste ich als Vorleistung schaffen, damit ich in meiner jeweiligen Hauptschleife meiner VIs solche Nutzung hätte:
* lies aktuellen Datensatz von Nachfolger bzw Vorgänger
* schreibe aktuellen Datensatz (an Vorgänger bzw. Nachfolger).

Wenn ich die oben genannten Beispiele abwandle, müsste jeder Rechner 2x Server sein (jeweils verschiedene Ports) und 2xClient, bis auf den Anfangs und Endrechner? Spricht etwas gegen diese Umsetzung? Oder geht es besser, leichter?

Wie löse ich die anfängliche Verbindungsaufbauphase? In den Beispielen wurde immer davon ausgegangen, dass der Server als erstes gestartet wird, wie kann ich den Client so festhalten, dass er entsprechend wiederholt versucht, eine Verbindung aufzubauen?

Danke für Hinweise,
Mat.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.08.2008, 19:27 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2008 19:31 von A.Berndsen.)
Beitrag #2

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
Kommunikation zwischen verschiedenen Rechnern (z.B. TCP/IP) als Kette
' schrieb:Spricht etwas gegen diese Umsetzung? Oder geht es besser, leichter?

Es geht leichter.
Mit "shared Variables" geht das sicher deutlich einfacher. Aber das soll Dir z.B. Markus oder Eugen genauer erklären, die sind da fitt.

Grüße
Andreas

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2008, 19:58
Beitrag #3

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Kommunikation zwischen verschiedenen Rechnern (z.B. TCP/IP) als Kette
' schrieb:Es geht leichter.
Mit "shared Variables" geht das sicher deutlich einfacher. Aber das soll Dir z.B. Markus oder Eugen genauer erklären, die sind da fitt.

Grüße
Andreas

Ich bin bei SVs gar nicht fitt. Gerade umgekehrt, ich empfele immer TCP/IP und Markus SVs.

Aber zuerst folgende Frage:

Warum muss es eine Kette sein? Man kann doch einen Server machen und jeder PC kann dann mit jedem anderen PC über diesen Server kommunizieren.
Wenn du Interesse dran hast, kann ich dir ein fertiges Template anbieten.

Ansonsten klar, es geht. Gibt es Schierigkeiten dabei?

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.08.2008, 06:09
Beitrag #4

Dennis.Moser Offline
Administrator
Administrators

Beiträge: 3.045
Registriert seit: Aug 2004

5.1 : 7.1 : 8.x : 20xx
1997
DE_EN

57589
Deutschland
Kommunikation zwischen verschiedenen Rechnern (z.B. TCP/IP) als Kette
Zitat:Spricht etwas gegen diese Umsetzung?
jaein...

Zitat:Warum muss es eine Kette sein? Man kann doch einen Server machen und jeder PC kann dann mit jedem anderen PC über diesen Server kommunizieren.
Richtig, dies würde die Ausfallsicherheit erhöhen, auch wenn die Gefahr besteht das der Server ausfallen könnte. Da so i.d.r. nur die Kommunikation eines Client ausfällt (evtl. Netzwerktechnisch) und nicht die ganze Kette unterbrochen wird...

Ich würde auf Server / Client setzten.

Gruß Dennis

Wissen ist das einzige Gut das sich vermehrt, wenn man es teilt!

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

BC: 14vqy6mgfswpX6z7HLVxk1h3sHAvzE4aZG
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.08.2008, 06:36
Beitrag #5

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Kommunikation zwischen verschiedenen Rechnern (z.B. TCP/IP) als Kette
Du kannst auf einem Rechner die Shared Variables Engine in Deine Applikation mit einbinden und dort auch programmatisch deployen. Dann musst Du nur noch in Deinem *.alias-File die IP-Adresse des Rechners angeben, auf dem die SVE läuft. Wie das alles geht siehst Du hier.
Alle anderen Rechner können dann über die Shared Variables kommunizieren. Um die Rechner zu unterscheiden kannst Du ja einen kleinen Kenner/Header verwenden, den Du vor der Weiterverarbeitung wieder entfernst.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.08.2008, 08:08
Beitrag #6

Matrim Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2008

8.5
2008
de

0
Deutschland
Kommunikation zwischen verschiedenen Rechnern (z.B. TCP/IP) als Kette
Es sollte von daher eine Kette sein, da ich so jeweils ein einzelnes Gerät simulieren möchte.
Es findet entlang dieser Kette eine Abarbeitungsreihenfolge statt. Also Gerät 1 tut was und übergibt an Gerät 2 usw.
(Die Reihenfolge wird dadurch bestimmt, dass jedes Gerät seinen Vorgänger bzw Nachfolger kennt.)


Bei ersten Tests habe ich folgendes Problem, wenn ich die VIs starte, dann timen die "Clienten" aus, da eventuell der entsprechende Server noch nicht gefunden wurde.

Folgender (Laufzeit?) Fehler kommt (s.A.)

Wie kann ich da z.B. erreichen, dass er in einer Schleife wartet, bis er eine Verbindung zum Server aufbaut, bzw immer wieder in so einer Schleife wartet, auch wenn die Verbindung mal verloren geht?

Ansonsten schaue ich mir das auch mal mit den Shared Variables an...

Vielen Dank soweit!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.08.2008, 08:32
Beitrag #7

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Kommunikation zwischen verschiedenen Rechnern (z.B. TCP/IP) als Kette
Du kannst, wenn Du es so wie ich machst, die SV pollen. Durch den Header weißt Du genau, welcher Rechner was gesendet hat. Du kannst ja die SV in eine State-Machine einbauen, d.h. Du pollst eine SV und wenn die Nachricht für den entsprechenden Rechner ist, dann arbeitest Du Deine unterschiedlichen Cases ab.
Mehr sage ich dazu nicht, da Du Dich wohl eh für TCP/IP entscheidest.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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
  Probleme mit Remote Panel auf verschiedenen PCs Odie 4 3.438 01.07.2019 09:28
Letzter Beitrag: Odie
  Mehrere DOs mit DAQmx in verschiedenen Modi ansteuern BennyGreb 2 3.408 10.12.2017 19:13
Letzter Beitrag: BennyGreb
  Kommunikation zwischen SubVis im Subpanel und GUI Rene123 12 11.103 30.10.2017 23:28
Letzter Beitrag: IchSelbst
  Kommunikation zwischen LabView und SEW Umrichter Joe23 13 8.959 09.05.2016 10:40
Letzter Beitrag: GerdW
  Fehler bei einigen Rechnern bei Report erstellen hansi9990 0 2.518 26.06.2015 19:06
Letzter Beitrag: hansi9990
  Lokale Variablen in verschiedenen Schleifen MaxxPowers 8 7.637 23.04.2014 13:02
Letzter Beitrag: GerdW

Gehe zu: