From a5e679e6fbb0a3d379f29e06d350d6656b71d957 Mon Sep 17 00:00:00 2001 From: shinichi Date: Wed, 30 Sep 2020 19:40:37 +0200 Subject: [PATCH] server now gets response when resistance is set --- Client/Client.cs | 13 +++++++++---- Client/DataParser.cs | 14 ++++++++++++++ Server/Client.cs | 6 +++++- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Client/Client.cs b/Client/Client.cs index d52c349..c6f6f48 100644 --- a/Client/Client.cs +++ b/Client/Client.cs @@ -95,22 +95,22 @@ namespace Client break; case DataParser.START_SESSION: this.sessionRunning = true; - byte[] startSession = DataParser.getStartSessionJson(); - stream.BeginWrite(startSession, 0, startSession.Length, new AsyncCallback(OnWrite), null); + sendMessage(DataParser.getStartSessionJson()); break; case DataParser.STOP_SESSION: this.sessionRunning = false; - byte[] stopSession = DataParser.getStopSessionJson(); - stream.BeginWrite(stopSession, 0, stopSession.Length, new AsyncCallback(OnWrite), null); + sendMessage(DataParser.getStopSessionJson()); break; case DataParser.SET_RESISTANCE: if (this.handler == null) { Console.WriteLine("handler is null"); + sendMessage(DataParser.getSetResistanceResponseJson(false)); } else { this.handler.setResistance(DataParser.getResistanceFromJson(payloadbytes)); + sendMessage(DataParser.getSetResistanceResponseJson(true)); } break; default: @@ -131,6 +131,11 @@ namespace Client } + private void sendMessage(byte[] message) + { + stream.BeginWrite(message, 0, message.Length, new AsyncCallback(OnWrite), null); + } + private void OnWrite(IAsyncResult ar) { this.stream.EndWrite(ar); diff --git a/Client/DataParser.cs b/Client/DataParser.cs index 5289c63..8eddb4c 100644 --- a/Client/DataParser.cs +++ b/Client/DataParser.cs @@ -182,11 +182,25 @@ namespace Client return getJsonMessage(SET_RESISTANCE, data); } + public static byte[] getSetResistanceResponseJson(bool mWorked) + { + dynamic data = new + { + worked = mWorked + }; + return getJsonMessage(SET_RESISTANCE, data); + } + public static float getResistanceFromJson(byte[] json) { return ((dynamic)JsonConvert.DeserializeObject(Encoding.ASCII.GetString(json))).data.resistance; } + public static bool getResistanceFromResponseJson(byte[] json) + { + return ((dynamic)JsonConvert.DeserializeObject(Encoding.ASCII.GetString(json))).data.worked; + } + } } diff --git a/Server/Client.cs b/Server/Client.cs index d486793..02abad4 100644 --- a/Server/Client.cs +++ b/Server/Client.cs @@ -122,6 +122,11 @@ namespace Server case DataParser.STOP_SESSION: this.saveData = null; break; + case DataParser.SET_RESISTANCE: + worked = DataParser.getResistanceFromResponseJson(payloadbytes); + Console.WriteLine($"set resistance worked is " + worked); + //set resistance on doctor GUI + break; default: Console.WriteLine($"Received json with identifier {identifier}:\n{Encoding.ASCII.GetString(payloadbytes)}"); break; @@ -138,7 +143,6 @@ namespace Server else if (payloadbytes.Length == 2) { saveData?.WriteDataRAWBPM(payloadbytes); - sendMessage(DataParser.getSetResistanceJson(50)); } else {