/// <summary> /// Reads this instance. /// </summary> public void Read() { Task task = new Task(() => { while (this.IsConnected) { try { { stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); string jSonString = reader.ReadString(); CommandMessage msg = CommandMessage.ParseJSON(jSonString); this.DataReceived?.Invoke(this, msg); } } catch (Exception e) { Console.WriteLine(e.Message); } } }); task.Start(); }
/// <summary> /// Initializes the specified request. /// </summary> /// <param name="request">The <see cref="CommandReceivedEventArgs"/> instance containing the event data.</param> public void Initialize(CommandReceivedEventArgs request) { try { { this.Write(request); stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); string jSonString = reader.ReadString(); CommandMessage msg = CommandMessage.ParseJSON(jSonString); this.DataReceived?.Invoke(this, msg); } } catch (Exception e) { Console.WriteLine(e.Message); } }
public void Read() { Task <CommandMessage> task = new Task <CommandMessage>(() => { stream = client.GetStream(); StreamReader reader = new StreamReader(stream); string jSonString = reader.ReadLine(); while (reader.Peek() > 0) { jSonString += reader.ReadLine(); } CommandMessage msg = CommandMessage.ParseJSON(jSonString); return(msg); }); task.Start(); this.DataReceived?.Invoke(this, task.Result); }