From 3307f57f3601e3e77b0923dd0b3ff1c49b65020e Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 16 Sep 2020 13:48:31 +0200 Subject: [PATCH 1/2] added getting all users from response --- RH-Engine/JSONParser.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/RH-Engine/JSONParser.cs b/RH-Engine/JSONParser.cs index d42adb6..bda371c 100644 --- a/RH-Engine/JSONParser.cs +++ b/RH-Engine/JSONParser.cs @@ -10,20 +10,23 @@ namespace RH_Engine class JSONParser { /// - /// parses the given response from the server into strings + /// returns all the users from the given response /// /// the message gotten from the server, without the length prefix /// - public static string[] Parse(string msg) + public static PC[] GetUsers(string msg) { dynamic jsonData = JsonConvert.DeserializeObject(msg); Newtonsoft.Json.Linq.JArray data = jsonData.data; + PC[] res = new PC[data.Count]; + int counter = 0; foreach (dynamic d in data) { - Console.WriteLine(d.clientinfo.host); + res[counter] = new PC(d.clientinfo.host, d.clientinfo.user); + counter++; } - return null; + return res; } From 60ae9a37167beebfb5517febbd6872c410eba93c Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 16 Sep 2020 13:52:52 +0200 Subject: [PATCH 2/2] finished getting all users method --- RH-Engine/JSONParser.cs | 2 +- RH-Engine/Program.cs | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/RH-Engine/JSONParser.cs b/RH-Engine/JSONParser.cs index bda371c..c822791 100644 --- a/RH-Engine/JSONParser.cs +++ b/RH-Engine/JSONParser.cs @@ -22,7 +22,7 @@ namespace RH_Engine int counter = 0; foreach (dynamic d in data) { - res[counter] = new PC(d.clientinfo.host, d.clientinfo.user); + res[counter] = new PC((string)d.clientinfo.host, (string)d.clientinfo.user); counter++; } diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index 89d5beb..4de2298 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -34,7 +34,7 @@ namespace RH_Engine stream.Write(res); - Console.WriteLine("sent message " + message); + //Console.WriteLine("sent message " + message); } public static string ReadPrefMessage(NetworkStream stream) @@ -45,7 +45,7 @@ namespace RH_Engine int length = BitConverter.ToInt32(lengthBytes); - Console.WriteLine("length is: " + length); + //Console.WriteLine("length is: " + length); byte[] buffer = new byte[length]; int totalRead = 0; @@ -55,7 +55,7 @@ namespace RH_Engine { int read = stream.Read(buffer, totalRead, buffer.Length - totalRead); totalRead += read; - Console.WriteLine("ReadMessage: " + read); + //Console.WriteLine("ReadMessage: " + read); } while (totalRead < length); return Encoding.UTF8.GetString(buffer, 0, totalRead); @@ -71,8 +71,11 @@ namespace RH_Engine //Console.WriteLine(id); WriteTextMessage(stream, "{\r\n\"id\" : \"session/list\"\r\n}"); string result = ReadPrefMessage(stream); - Console.WriteLine(result); - //JSONParser.Parse(result); + //Console.WriteLine(result); + foreach (var s in JSONParser.GetUsers(result)) + { + Console.WriteLine(s); + } } } @@ -86,5 +89,10 @@ namespace RH_Engine } public string host { get; } public string user { get; } + + public override string ToString() + { + return "PC - host:" + host + " - user:" + user; + } } } \ No newline at end of file