From 5989e5786fc5e814f02b9d958595ae22a87038a2 Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Fri, 18 Oct 2019 23:23:19 +0200 Subject: [PATCH] add server/client docs --- docu/docs/information/serverclient.md | 29 +++++++++++++++++++++++++++ docu/mkdocs.yml | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 docu/docs/information/serverclient.md diff --git a/docu/docs/information/serverclient.md b/docu/docs/information/serverclient.md new file mode 100644 index 0000000..f0d6bca --- /dev/null +++ b/docu/docs/information/serverclient.md @@ -0,0 +1,29 @@ +#
Server/Client Prinzip
+ +BOSWatch 3 wurde als Server/Client Anwedung entwickelt. + +Dies ermöglicht es, mehrere Empfangsstationen an einer Auswerte- und Verteilereinheit zu bündeln. + +--- +## BOSWatch Client + +Der **BOSWatch Client** übernimmt den Empfang und die Dekodierung der Daten. Anschließend werden die Daten mittels der implemetierten +Dekoder ausgewertet und in ein sogenanntes bwPacket verpackt. + +Dieses Paket wird anschließend in einer Sende-Queue abgelegt. Nun werden Pakete aus der Queue an den BOSWatch Server per TCP-Socket +gesendet. Der Ansatz, Pakete statt dem direkten versenden vorher in einer Queue zwischen zu speichern, verhindert den Verlust von +Paketen, sollte die Verbindung zum Server einmal abreisen. Nach einer erfolgreichen Wiederverbdingun können die wartenden Pakete nun +nachträglich an den Server übermittelt werden. + +Dabei überwacht der Client selbstständig die benötigten Programme zum Empfang der Daten und startet diese bei einem Fehler ggf. neu. + +--- +## BOSWatch Server + +Nachdem die Daten vom Clienten über die TCP-Socket Verbindung empfangen wurden, übernimmt der **BOSWatch Server** die weitere +Verarbeitung der Daten. + +Auch hier werden die empfangenen Daten in From von bwPacket's in einer Queue abelegt um zu gewährleisten, das auch während einer länger +dauernden Plugin Ausführung alle Pakete korrekt empfangen werden können und es zu keinen Verlusten kommt. +Die Verarbeitung der Pakete geschieht anschließend in sogenannten Routern, welche aufgrund ihres Umfangs jedoch in einem eigenen Kapitel +erklärt werden. Diese steuern die Verteilung der Daten an die einzelnen Plugins. \ No newline at end of file diff --git a/docu/mkdocs.yml b/docu/mkdocs.yml index 4c4fa4d..296b21e 100644 --- a/docu/mkdocs.yml +++ b/docu/mkdocs.yml @@ -12,7 +12,7 @@ nav: # - BOSWatch benutzen: tbd.md # - Als Service einrichten: tbd.md - Informationen: -# - Server/Cient Prinzip: tbd.md + - Server/Cient Prinzip: information/serverclient.md - Broadcast Service: information/broadcast.md # - Modul/Plugin Konzept: tbd.md # - Routing Mechanismus: tbd.md