Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Bester Ansatz für den Austausch von Objekten und Strings: Remoting?
Grimmbizkit
myCSharp.de - Member



Dabei seit:
Beiträge: 310
Herkunft: Niederrhein

Themenstarter:

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

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7540
Herkunft: Waidring

beantworten | zitieren | melden

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!"
private Nachricht | Beiträge des Benutzers
Grimmbizkit
myCSharp.de - Member



Dabei seit:
Beiträge: 310
Herkunft: Niederrhein

Themenstarter:

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Grimmbizkit am .
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7540
Herkunft: Waidring

beantworten | zitieren | melden

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!"
private Nachricht | Beiträge des Benutzers
Deaktiviertes Profil
myCSharp.de - Member



Dabei seit:
Beiträge: 996

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15815
Herkunft: BW

beantworten | zitieren | melden

Zitat
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.
private Nachricht | Beiträge des Benutzers