Laden...

Alte TCP-Kommunikation ersetzen, aber wie?

Erstellt von Grimmbizkit vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.392 Views
G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 5 Jahren
Alte TCP-Kommunikation ersetzen, aber wie?

Guten Abend zusammen,

ich habe mal ein paar kleinere Fragen.

Ich habe ein altes Programm (mit C#, 1x Server, 2x Client) in dem "Server" steckt die Intelligenz. Die Clients habe hauptsächlich nur eine Software, welche vom Server gesagt bekommt Zeige das an, mache das...

Nun würde ich diese Software gerne ersetzen, da die Hardware ist zu alt und auch die Software ist nicht für meine heutigen Anforderungen ausgelegt.

Nun meine Fragen:

  1. Welche Art der Kommunikation ist heute Stand der Dinge? Immer noch TCP-Client, oder TCP-Channel? oder noch was anderes?
  2. Multi-Tasking sollte es können, also 1 Client ist nicht erreichbar, sollte nicht die Leistung des anderen Beeinträchtigen Geschwindigkeit.
  3. Automatischer Reconnect oder sowas.
  4. Gibt es auch was, für Linux, Windows & Android funktioniert?

Oder anders gesagt: Wie würdet ihr dieses Thema angehen und (zukunftssicher) lösen?

Bin für jede Anregung oder Tipp dankbar.

T
2.219 Beiträge seit 2008
vor 5 Jahren

Bei TCP Channel/Listener bleibt es im Grunde bei TCP als Protokoll zur Übertragung.
Je nachdem was deine Client alles machen, wäre ggf. eine Web Lösung auch sinnvoll.
Dann ist dein Server nur noch ein Webservice mit den die Clients über Web API kommunizieren.
Dann ist http das Protokoll der Komunikation entsprechend entfällt der Aufwand das Rad neu zuerfinden.

Wenn deine Clients auch keine vollständig neue Software sein muss, wäre auch eine Überlegung eine Webanwendung auf Basis von Angular oder einem anderen JS Framework zu nehmen.
Dann ist deine Client Webseite nur noch CSS, JS und HTML.
Würde sich fast schon mehr lohnen als die Client neu zu entwickeln.

Aber aktuell sind deine Anforderungen noch etwas wage.
Vielleicht wären ein paar mehr Details zu Client und Server hilfreich.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

T
461 Beiträge seit 2013
vor 5 Jahren
  1. Multi-Tasking sollte es können,** also 1 Client ist nicht erreichbar**, sollte nicht die Leistung des anderen Beeinträchtigen Geschwindigkeit.

Hallo,

was mich irritiert ist der markierte Text. Normaler weise spricht man davon, daß der Server nicht erreichbar ist und nicht umgekehrt??
Was steckt da im Hintergrund für diese Auslegung?

Grüße

Ich habe den Titel mal angepasst, so dass Suchende auch etwas damit anfangen können. EDIT: Ich sollte beim Wort "Shift" im Titel das "f" nicht vergessen... 😄

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 5 Jahren

Das der Client nicht erreichbar ist, liegt an der derzeitigen "Arbeitsweise" des Programm's.
Der Server kennt die IP's der Clients und baut eine Verbindung dorthin auf. Nicht der Client baut eine Verbindung zum Server.

Bei einer Verbindung zwischen Client und Server meldet sich der Client (an dem ein RFID Scanner angeschlossen ist bei Server (ich habe eine ID erkannt) und alles weitere macht der Server.

Eine Überlegung war sogar zwei eigenständige Programme zu erstellen, die nicht abhängig von einer Kommunikation zu erstellen. Da ich nur den Scanner lesen muss und eine Sql-Datenbank abfragen muss.

Grüße

W
955 Beiträge seit 2010
vor 5 Jahren

SignalR könnte man sich hier mal anschauen.