Laden...

Bester Ansatz für den Austausch von Objekten und Strings: Remoting?

Erstellt von Grimmbizkit vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.871 Views
G
Grimmbizkit Themenstarter:in
310 Beiträge seit 2006
vor 6 Jahren
Bester Ansatz für den Austausch von Objekten und Strings: Remoting?

Hallo zusammen,

ich habe mal eine Frage bzw brauche ich eine kleine Entscheidungshilfe.

Ich möchte gerne einen Dienst erstellen welche als zentraler Punkt für den Datenaustausch zwischen verschiedenen Programmen dienen soll. Hier sollen sich dann die Programme drauf verbinden.
Es werden hauptsächlich Texte (Strings) ausgetauscht, evtl mal auch Objekte.

Um das ganze zu realisieren habe ich mich für Remoting entschieden.

Nun zu meinen Fragen:

  1. Läuft das auch unter Linux mit Mono?
  2. Kann der Remoting-Server auch mehrere Clients verwalten?
  3. Gibt es die Möglichkeit zu unterscheiden, also daten gibt es immer nur aktuell und einmal eine Art Queue?

Ist sowas machbar, oder doch was anderes als Remoting?
IPC?

Danke für eure Hilfe und Tipps
Gruß Simon

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo Grimmbizkit,

nimm besser einen HTTP-API (Web Api), damit kannst du alle geforderten Punkte leicht(er) umsetzen.
Noch dazu gewinnst du so mehr Freiheiten in der Wahl der Clients, das Debugging ist einfacher (HTTP-Traffic), usw.

Remoting läuft unter Mono afaik nicht -- aber das steht auf der Mono-Site.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

G
Grimmbizkit Themenstarter:in
310 Beiträge seit 2006
vor 6 Jahren

Danke für die Infos

Wie ist das den von der Performance her?
Gibt es da Unterschiede?

Da ich z.B. von Geräten Daten auslese und diese in einer Anwendung darstellen möchte. Das sollte dann JustInTime gehen.

Gerät wird von einem Dienst (Client) alle 250ms ausgelesen, welcher diese Werte an den Dienst (Server) sendet. Nun kann sich ein anderes Programm an mehreren PC's auf den Dienst (Server) verbinden und das in einem Formular anzeigen.

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo Grimmbizkit,

klar gibt es Unterschiede, nur ob diese relevant / spürbar sind ist eine andere Sache 😉

Wenn das Intervall 250ms ist, so kann ich mir nicht vorstellen dass es mit HTTP irgendwelche Probleme geben sollte. V.a. wenn nur einfache Texte übertragen werden. Es gibt ja auch WebServer (HTTP) die mehrere Tausend Request pro Sekunden behandeln können, daher (ich wiederhole mich) sollte es kein Problem geben.

Ich würde es so einfach -- zumindest als Prototyp -- nachstellen und verifizieren ob es passt od. nicht. Falls ja, so ist es gut, sonst such dir eine Alternative. Aber gehe von "ja" aus.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

D
985 Beiträge seit 2014
vor 6 Jahren

Zunächst mal: Remoting wurde von WCF abgelöst.

Somit stellt sich die Frage, ob man auf WCF oder WebApi setzen sollte.

Die WebApi bekommt man auf vielen Betriebssystemen (Windows, macOS, Linux, ...) zum Laufen. Die Clients müssen nur HTTP können (also quasi alle).

Deine Anforderungen zeigen hier sehr deutlich auf WebApi.

Den Punkt mit der Performance hat gfoidl ja schon beantwortet.

16.827 Beiträge seit 2008
vor 6 Jahren

Wie ist das den von der Performance her?

Bei so einer Frage sollte man auch immer ein paar Eckdaten mitliefern.

Was der eine hoch-performant nennt, nennt der andere unterer Durchschnitt.
Auch wenn Performance ein Feature ist merken ein paar ms die Leute doch in 99% der Fälle gar nicht.