Server Client Programme

XBernhardX

Newbie
Registriert
März 2017
Beiträge
7
Hallo Zusammen,
ich hab mal wieder eine Frage als neuling. Ich hab schon viel rumgesucht aber leider nicht gefunden(oder verstanden) was ich brauche.
Ich habe vor einiger Zeit mit C# angefangen und ein paar kleine Programme geschrieben.
Nun dachte ich mir würde ich das ganze gerne als Client-Sever prinzip aufbauen. Leider weiß ich nur nicht wie ich das angehen soll.

Meine Programme sind recht einfach. Sie sammeln über eine GUI ein paar Daten und berechnen mir ein paar sachen und geben diese als dann als datei aus.

Nun hätte ich das ganz gerne so umgebaut das es einen Client gibt der wie bisher erstmal alle benötigten Daten sammelt. Anschließend soll dann alles verpackt zu einen Server geschickt werdern, welcher die brechnung durchführt, und wenn er fertig ist die Daten zurück schickt und der Client dann eben die info gibt das er fertig ist.

Und hier ist die große Frage wie ich das ganze anzugehen habe? Ich dachte mir zuerst das ich vielleicht einen Raspberry Pi besorge und als server nimm. Aber nachdem was ich gelesen hab ist das eher eine schlechte Idee weil .net nicht wirklich auf dem Pi geht. Gibt es andere billige alternativen wo es besser geht? Und wie muss ich eine solche wie oben beschriebene Komminikation aufbauen?
VG
Bernard
 
Hi

Billiger: Such dir irgend einen gebrauchten PC mit Windows 7/8/10-Lizenz - diesen kannst du dann auf Win10 Upgraden -> Fertig.
So gebrauchte PCs gibts zum Teil ziemlich günstig.

Netzwerkkommunikation in C#: Schon mal gegooglet?
Vielleicht hilft dir das weiter ...

Gruss - jumpin
 
client und server können auch auf dem selben rechner laufen

.net gibt es als "mono" auch für linux und den pi, siehe z.b. hier

durch eine client/server architektur muss der server nicht in der selben sprache geschrieben sein wie der client, d.h. als client wäre c# und als server auf dem pi z.b. python möglich.
 
Zuletzt bearbeitet:
danke schonmal für die 2 Antworten.
Versteh ich das also richtig das ich den Client auf einem Win Rechner mit c# mache und den Server dann z.B. mit Python und das es dann keine Probleme gibt mit TCP eine Kommunikation wie oben beschrieben hinzubekommen?

Muss die Verbindung dann offen bleiben solange die berechnung läuft? und wenn dann die fertigen Daten zurück sollen. ist des praktikabler den server die Daten senden zu lassen oder den clienent die Daten holen zu lassen?
VG
 
Zuletzt bearbeitet:
das kann man beliebig komplex machen. das einfachste wäre, dass der client eine tcp verbindung aufmacht, die daten schickt und solange wartet, bis das ergebnis kommt.

du musst allerdings beachten, dass bei einer langen berechnung evtl. die verbindung geschlossen wird, bevor das ergebnis gesendet werden konnte und solche netten sachen :)
 
gerade bei echtzeit-messagingsystemen bietet es sich in der regel an, eine pollingmethode irgendwo zu haben, die bei nicht-verbundensein angefallene datensaetze abrufbar machen.
 
Wenn der Server auch c# verwendest, könntest Du auf beiden Seiten WCF verwenden, dann musst Du Dich um den ganzen Kommunikationsstack nicht kümmern. Da musst Du dich natürlich ein bisschen in die Funktionsweise/Konfig/Interfaces einlesen...
 
Da du ja RPi überlegst scheinst du Linux/Mono nicht generell auszuschließen.
Dann gibts eigtl kaum was bequemeres als sich eine Linux ISO zu laden, als und als CD-Laufwerk bei VirtualBox einzubinden. Dort installierst du dann in einen virtuelle PC das Linux und schwupp kannst du ganz bequem auf einem Gerät alles machen. Das kostet 0€, geht in unter 1 Stunde aufzusetzen und ist auch im Anschluss nicht mit Crosscompile für ARM etc verbunden.
Damit die VM per TCP IP mit dem Host kommunizieren kann muss man evtl den LAN-Adapter der VM konfigurieren.
 
Zurück
Oben