private void GetResults() { Logger.Instance.Log(Logger.Type.Ok, "Client - GetResults: waiting for results"); Console.Write("Waiting for results...."); while (true) //synchronization for clients { var status = _client.Receive(Packet.Owner.Client, 11); if (JsonSerializer.Deserialize <Status>(status) == Status.Ok) { break; } } _client.SendObject(Status.Ok, Packet.Owner.Client, 3); var data = _client.Receive(Packet.Owner.Client, 12); //id12 contains the result Logger.Instance.Log(Logger.Type.Ok, "Client - GetResults: received results"); var resultSecond = data; var result = JsonSerializer.Deserialize <Result>(resultSecond); var message = $"There was {result.ErrorCount} error(s). \n {result.ErrorMessage}"; Logger.Instance.Log(Logger.Type.Warning, message); Console.Write(message); NetworkTcp.Disconnect(_client); _client.Close(); Logger.Instance.CheckOut(); }
private void SendResults(int errors, string result) { Logger.Instance.Log(Logger.Type.Ok, "Server - SendResults: sending results"); // errors and result are sent via json using a parameterless constructor class (see documentation on JsonSerializer.Deserialize) var resultF = new Result { ErrorCount = errors, ErrorMessage = result }; _client.SendObject(resultF, Packet.Owner.Server, 12); //POST PROCESS | Make sure that client receives the packet Console.ReadKey(); Logger.Instance.Log(Logger.Type.Ok, "Server - SendResults: finished job"); // Disconnect all clients NetworkTcp.Disconnect(_client); _client.Close(); }
/// <summary> /// Disconnects this instance. /// </summary> public override void Disconnect() { NetworkTcp.Disconnect(this.Device.Token.AsyncEvent); }