/// <summary> /// The network client on data received. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="dataReceivedEventArgs"> /// The data received event args. /// </param> private void NetworkClientOnDataReceived(object sender, DataReceivedEventArgs dataReceivedEventArgs) { IMessage message = Message.Parse(dataReceivedEventArgs.Data); if (message.Command == "ERROR") { string errorMessage = message.Parameters.First(); this.logger.Fatal(errorMessage); this.networkClient.Disconnect(); throw new IOException(errorMessage); } if (message.Command == "PING") { this.Send(new Message("PONG", message.Parameters)); } if (this.connectionRegistered) { this.RaiseDataEvent(message); } else { this.RegisterConnection(message); } }
/// <summary> /// The on data received. /// </summary> /// <param name="e"> /// The e. /// </param> protected virtual void OnDataReceived(DataReceivedEventArgs e) { EventHandler<DataReceivedEventArgs> handler = this.DataReceived; if (handler != null) { handler(this, e); } }