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:
Ist sowas machbar, oder doch was anderes als Remoting?
IPC?
Danke für eure Hilfe und Tipps
Gruß Simon
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!"
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.
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!"
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.
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code