Publish Subscriber Design Pattern

Aufbau und Planung von Softwareprojekten, UML, Zustandsautomaten, Softwaremodule, OOP
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение Eugen Graf »

Die Strings "daten1" und "daten2" brauchst du nicht wirklich, ansonsten hast doch richtig gemacht beim Abschicken. Jetzt musst du beim Empfangen im anderen Client oben den gleichen Datentyp angeben wie abgeschickt. Also ein Clister aus zwei Doubles und nicht wie früher ein einfaches Double.
montanaro
user
user
Сообщения: 81
Зарегистрирован: 01 сен 2008, 19:14
Версия LabVIEW: 8.6, 2009
Откуда: Südtirol-Italien
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение montanaro »

So, vielen Dank. Jetzt funktioniert es. Habe den Client so gemacht wie du es mir gesagt hast.
Grüße
montanaro
Вложения
clientX.png
clientX.png (10.98 КБ) 10175 просмотров
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение Eugen Graf »

Alles klar. Man muss halt den Datentyp beim Entpacken wissen und er soll mit dem beim Einpacken genau übereinstimmen. Wieviele Daten ist ja egal, hauptsache die Datentypen stimmen überein.

Gruß, eg
montanaro
user
user
Сообщения: 81
Зарегистрирован: 01 сен 2008, 19:14
Версия LabVIEW: 8.6, 2009
Откуда: Südtirol-Italien
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение montanaro »

Hallo, ich habe leider wieder eine Frage.
Ich habe mir zwei neue Clients konstruiert. Die Kommunikation funktioniert aber immer nur in eine Richtung.
D.H. der Client, welcher als zweiter gestartet wird, kann Werte senden, kann die Werte aber nicht vom ersten
Client empfangen. Ich habe dabei folgendes bemerkt:
Will der erste Client etwas senden, so empfängt er selber die Kommunikation und führt die untere Schleife aus. Der zweite Client
wird somit nicht mit den Werten gefüttert.
Wo liegt hier der Fehler begraben?
Danke
Grüße
montanaro
montanaro
user
user
Сообщения: 81
Зарегистрирован: 01 сен 2008, 19:14
Версия LabVIEW: 8.6, 2009
Откуда: Südtirol-Italien
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение montanaro »

Hallo,
was ich vorher sagte ist natürlich richtig. Was ich festellen muss, es wird an einem Client die Kommunikationsschleife
nicht ausgeführt. Nur der erste Client führt die Kommunikationsschleife aus, der zweite Client sendet zwar die Daten,
führt aber weder durch sich selbst noch durch den anderen Client die Kommunikationsschleife aus.
Wie kann ich herausfinden, weshalb diese Schleife nicht ausgeführt wird.
Danke und Grüße
montanaro
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение Eugen Graf »

Du meinst, dass der zweite Client zwar gestartet wird und sich am Dispatcher anmelden, aber der Dispatcher will mit diesem Client keine Verbindung aufmachen? Habe ich es richtig verstanden?
montanaro
user
user
Сообщения: 81
Зарегистрирован: 01 сен 2008, 19:14
Версия LabVIEW: 8.6, 2009
Откуда: Südtirol-Italien
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение montanaro »

ja genau, du hast es richtig verstanden
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение Eugen Graf »

Dann tippe ich auf:
- falsche Verbindungseinstellungen
- Cleint Namen sollen unterschiedlich sein (soweit ich mich erinnern kann)
montanaro
user
user
Сообщения: 81
Зарегистрирован: 01 сен 2008, 19:14
Версия LabVIEW: 8.6, 2009
Откуда: Südtirol-Italien
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение montanaro »

Ich bin so vorgegangen: zuerst habe ich einen Client erstellt, d.h. alles was auch für andere interessant ist. Dann habe ich die Datei mit dem Explorer kopiert und umbenannt. der neue Client wurde dann angepasst an seine Funktionen. Leider funktioniert es wie oben berits beschrieben. Ich habe jetzt mal eine Kopie aus Labview herausgemacht und beide Clients getestet. Es hat funktioniert.
Was meinst du mit unterschiedlichen Namen?
Grüße
montanaro
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Publish Subscriber Design Pattern

Сообщение Eugen Graf »

Ich weiss nich inwieweit du das Design Pattern modifiziert hast, aber beim Registrieren eines Clients musst du den Client Namen angeben. Das passiert aber erst nach dem die Verbindung zwischen dem Client und Dispatcher schon hergestellt ist. Wenn der Name aber schon beim Dispatcher registriert ist, dann wird die Registrierung des Clients ignoriert, was zu weiteren Problemen führen kann.
Ответить

Вернуться в «Programmiermuster»