server now gets response when resistance is set

This commit is contained in:
shinichi
2020-09-30 19:40:37 +02:00
parent adea08cfb7
commit a5e679e6fb
3 changed files with 28 additions and 5 deletions

View File

@@ -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);

View File

@@ -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;
}
}
}

View File

@@ -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
{