/// <summary> /// This method checks the completed message. /// </summary> /// <param name="sender"> The object sender. </param> /// <param name="e"> The byte event args. </param> private void CheckCompletedMessage(object sender, ByteMessageEventArgs e) { ProcessListMessage messageType = new ProcessListMessage(); Ping pingType = new Ping(); if (e.Message[0] == (byte)messageType.Type) { List <byte> list = e.Message.ToList(); List <byte> hostname = new List <byte>(); list.RemoveAt(0); int hostNameLength = list[0]; for (int i = 0; i < hostNameLength; i++) { hostname.Add(list[i + 1]); } this.HostName = Encoding.UTF8.GetString(hostname.ToArray()); list.RemoveRange(0, hostname.Count + 1); ProcessListContainer container = NetworkDeSerealizer.DesSerealize(list.ToArray()); this.FireOnMessageCompleted(new ProcessListEventArgs(container)); this.ResetTimer(); } else if (e.Message[0] == (byte)pingType.Type) { this.ResetTimer(); } }
/// <summary> /// This method fires when a byte message has been received. /// </summary> /// <param name="e"> The byte message. </param> protected virtual void FireOnMessageReceived(ByteMessageEventArgs e) { if (this.OnMessageReceived != null) { this.OnMessageReceived(this, e); } }