Пример #1
0
        /// <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);
            }
        }
Пример #2
0
 /// <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);
     }
 }