示例#1
0
        private void OnMessageReceived(object sender, TypedRequestReceivedEventArgs <MyRequest> e)
        {
            // Insert received message at the beginning of the listbox.
            // Note: we can directly access the listbox because we set threading mode of
            //       InputChannelThreading to the main UI thread.



            if (e.RequestMessage.Ack == false)
            {
                Random rnd = new Random();
                ReceivedMessagesListBox.Items.Insert(0, e.RequestMessage);
                MyResponse resp = new MyResponse();
                resp.Temperature = (float)rnd.Next(0, 300) / 10.0f;
                resp.Pressure    = (float)rnd.Next(900, 1100) / 10.0f;
                resp.Humidity    = (float)rnd.Next(0, 1000) / 10.0f;
                resp.Time        = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

                // Send message to client which is selected in the listbox.
                myReceiver.SendResponseMessage(e.ResponseReceiverId, resp);
            }
            else
            {
                listBoxAcknowledge.Items.Insert(0, e.ResponseReceiverId + ": ACK");
            }
        }
 public YZXRequestReceivedEventArgs(TypedRequestReceivedEventArgs <_RequestMessageType> e)
 {
     ReceivingError     = e.ReceivingError;
     RequestMessage     = e.RequestMessage;
     ResponseReceiverId = e.ResponseReceiverId;
     SenderAddress      = e.SenderAddress;
 }
示例#3
0
 private void OnMessageReceived(object sender, TypedRequestReceivedEventArgs <MyRequest> e)
 {
     if (e.RequestMessage.Ack == false)
     {
         MyResponse resp = SendWeatherInfo(e.RequestMessage.TimeUnit, e.RequestMessage.numberOfTimeUnitsBack);
         // Send message to client which is selected in the listbox.
         if (resp != null)
         {
             myReceiver.SendResponseMessage(e.ResponseReceiverId, resp);
         }
     }
     else
     {
         if (Serial.IsOpen)
         {
             if (clients.IndexOf(GetClient(e.ResponseReceiverId)) != null)
             {
                 int clientNumver = clients.IndexOf(GetClient(e.ResponseReceiverId));
                 Serial.Write((clientNumver + 1).ToString() + "#");
                 LedSerialArgs led = new LedSerialArgs(clientNumver + 1);
                 SendLedInfo?.Invoke(null, led);
             }
             else
             {
                 return;
             }
         }
     }
 }
示例#4
0
        // It is called when a message is received.
        private static void OnMessageReceived(object sender, TypedRequestReceivedEventArgs <MyRequest> e)
        {
            Console.WriteLine("Received: " + e.RequestMessage.Text);

            // Create the response message.
            MyResponse aResponse = new MyResponse();

            aResponse.Length = e.RequestMessage.Text.Length;

            // Send the response message back to the client.
            myReceiver.SendResponseMessage(e.ResponseReceiverId, aResponse);

            String msg = e.RequestMessage.Text;

            if (msg.Equals("Open"))
            {
                Console.WriteLine("Simulate Open Action");
                //MainWindow.simulateOpenAction();
            }
            else if (msg.Equals("Close"))
            {
                Console.WriteLine("Simulate Close Action");
                // MainWindow.simulateCloseAction();
            }
        }
    private void OnRequestReceived(object sender, StringRequestReceivedEventArgs e)
    {
        TRequest typedRequest = serializers_by_receiver_id_[e.ResponseReceiverId].Deserialize <TRequest>(e.RequestMessage);
        var      typedE       = new TypedRequestReceivedEventArgs <TRequest>(e.ResponseReceiverId, e.SenderAddress, typedRequest);

        if (MessageReceived != null)
        {
            MessageReceived(sender, typedE);
        }
    }
示例#6
0
        /// <summary>
        /// The on message received.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The e.</param>
        private void OnMessageReceived(object sender, TypedRequestReceivedEventArgs<NotificationMessage> e)
        {
            // Message is wrapped in <string> tags, so we need to strip them
            var message = XDocument.Parse(e.RequestMessage.Message);

            if (MessageReceived != null && message.Root != null)
            {

                MessageReceived(this, new NotificationMessage { EventId = e.RequestMessage.EventId, Message = message.Root.Value });
            }
        }
示例#7
0
文件: Program.cs 项目: proinz/gragps
        // It is called when a message is received.
        private static void OnMessageReceived(object sender, TypedRequestReceivedEventArgs<MyRequest> e)
        {
            Console.WriteLine("Received: " + e.RequestMessage.Text);

            // Create the response message.
            MyResponse aResponse = new MyResponse();
            aResponse.Length = e.RequestMessage.Text.Length;

            // Send the response message back to the client.
            myReceiver.SendResponseMessage(e.ResponseReceiverId, aResponse);
        }
示例#8
0
        private void OnMessageReceived(object sender, TypedRequestReceivedEventArgs <Person> e)
        {
            Console.WriteLine("Name: " + e.RequestMessage.Name);
            Console.WriteLine("Number of items: " + e.RequestMessage.NumberofItem.ToString());
            Console.WriteLine();

            if (e.RequestMessage.Name != "bye")
            {
                myMessageReceiver.SendResponseMessage(e.ResponseReceiverId, "Thanks for your message.");
            }
        }
        private static void OnMessageReceived(object sender, TypedRequestReceivedEventArgs<RequestMessage> e)
        {
            // Calculate numbers.
            ResponseMessage aResponseMessage = new ResponseMessage();
            aResponseMessage.Result = e.RequestMessage.Number1 + e.RequestMessage.Number2;

            Console.WriteLine("{0} + {1} = {2}", e.RequestMessage.Number1, e.RequestMessage.Number2, aResponseMessage.Result);

            // Send back the response message.
            var aReceiver = (IDuplexTypedMessageReceiver<ResponseMessage, RequestMessage>)sender;
            aReceiver.SendResponseMessage(e.ResponseReceiverId, aResponseMessage);
        }
        // It is called when a message is received.
        private static void OnMessageReceived(object sender,
                                              TypedRequestReceivedEventArgs <MyRequest> e)
        {
            Console.WriteLine("Received: " + e.RequestMessage.Text);

            // Create the response message.
            MyResponse aResponse = new MyResponse();

            aResponse.Length = e.RequestMessage.Text.Length;

            // Send the response message back to the client.
            myReceiver.SendResponseMessage(e.ResponseReceiverId, aResponse);
        }
        /// <summary>
        /// Event handler that is called when the message is received from the android device
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMessageReceived(object sender,
                                       TypedRequestReceivedEventArgs <String> e)
        {
            string s = e.RequestMessage;
            string indexParameter = s.Substring(0, 3);

            Console.WriteLine("indexParameter: " + indexParameter);
            switch (indexParameter)
            {
            case "Acc":
                int aindexX = s.IndexOf("X:");
                int aindexY = s.IndexOf("Y:");
                int aindexZ = s.IndexOf("Z:");
                Acc_X = s.Substring(aindexX + 2, (aindexY - aindexX) - 2);
                Acc_Y = s.Substring(aindexY + 2, (aindexZ - aindexY) - 2);
                Acc_Z = s.Substring(aindexZ + 2);
                break;

            case "Gyr":
                int gindexX = s.IndexOf("X:");
                int gindexY = s.IndexOf("Y:");
                int gindexZ = s.IndexOf("Z:");
                Gyro_X = s.Substring(gindexX + 2, (gindexY - gindexX) - 2);
                Gyro_Y = s.Substring(gindexY + 2, (gindexZ - gindexY) - 2);
                Gyro_Z = s.Substring(gindexZ + 2);
                break;

            case "Lig":
                Light = s.Substring(s.IndexOf("L:") + 2);
                break;

            case "Que":
                Answer = s.Substring(s.IndexOf("Q:") + 2);
                break;
            }

            SensorDataReceivedEventArgs args = new SensorDataReceivedEventArgs();

            args.Answer = Answer;
            args.Acc_X  = Acc_X;
            args.Acc_Y  = Acc_Y;
            args.Acc_Z  = Acc_Z;
            args.Gyro_X = Gyro_X;
            args.Gyro_Y = Gyro_Y;
            args.Gyro_Z = Gyro_Z;
            args.Light  = Light;
            OnSensorDataChanged(args);

            SenderID = e.ResponseReceiverId;
        }
示例#12
0
        // OnMessageReceived
        private void OnMessageReceived(object sender, TypedRequestReceivedEventArgs <MyRequest> e)
        {
            string message = e.RequestMessage.Text;
            string id      = e.ResponseReceiverId;

            ServerClient foundClient = clientList.FindClientByID(id);

            if (foundClient != null)
            {
                // Проверяем сообщение
                if (message == "#e#n#d")    // если #e#n#d
                {
                    // посылаем внешнему приложению сообщение о выходе клиента
                    if (onRecieveMessage != null)
                    {
                        OnReciveMessageEventArgs ea = new OnReciveMessageEventArgs(OnReciveMessageEventArgs.DISCONNECTED,
                                                                                   id, "");
                        onRecieveMessage(this, ea);
                    }
                    clientList.Remove(foundClient);     // удаляем клиентаs
                }
                else // иначе
                {
                    // посылаем внешнему приложению сообщение от клиента
                    if (onRecieveMessage != null)
                    {
                        OnReciveMessageEventArgs ea = new OnReciveMessageEventArgs(OnReciveMessageEventArgs.TEXT_MESSAGE,
                                                                                   id, message);
                        onRecieveMessage(this, ea);
                    }
                }
            }
            else
            {
                // Новый клиент. Прверяем запрос
                if (message == "#n#e#w")                  // если #n#e#w
                {
                    SendMessage(id, "#y#e#s");            // отвечаем клиенту,
                    clientList.Add(new ServerClient(id)); // заносим слиента в список
                    // посылаем внешнему приложению сообщение о новом клиенте
                    if (onRecieveMessage != null)
                    {
                        OnReciveMessageEventArgs ea = new OnReciveMessageEventArgs(OnReciveMessageEventArgs.CONNECTED,
                                                                                   id, "");
                        onRecieveMessage(this, ea);
                    }
                }
            }
        }
示例#13
0
        // It is called when a message is received.
        private static void OnMessageReceived(object sender, TypedRequestReceivedEventArgs <MyRequest> e)
        {
            Console.WriteLine("Jumlah PC : " + e.RequestMessage.Text);
            Console.WriteLine("Waktu Mulai : " + e.RequestMessage.Text2);
            Console.WriteLine("Lama Pemakaian : " + e.RequestMessage.Text3);


            // Create the response message.
            MyResponse aResponse = new MyResponse();

            //aResponse.Length = e.RequestMessage.Text.Length;

            // Send the response message back to the client.
            myReceiver.SendResponseMessage(e.ResponseReceiverId, aResponse);
        }
示例#14
0
        public void Receiver_MessageReceived(object sender, TypedRequestReceivedEventArgs <RequestType> e)
        {
            try
            {
                RequestType request = e.RequestMessage;
                request.SenderAddress      = e.SenderAddress;
                request.ResponseReceiverId = e.ResponseReceiverId;

                if (Receiver_MessageReceivedEvent != null)
                {
                    Receiver_MessageReceivedEvent(sender, new YZXRequestReceivedEventArgs <RequestType>(e));
                }
            }
            catch (Exception ex)
            {
            }
        }
示例#15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMessageReceived(object sender,
                                       TypedRequestReceivedEventArgs <String> e)
        {
            Console.WriteLine("Received: " + e);
            AccelerometerDataChangedEventArgs args = new AccelerometerDataChangedEventArgs();

            args.s = e.RequestMessage;
            OnAccDataChanged(args);

            // Create the response message.
            MyResponse aResponse = new MyResponse();

            aResponse.Length = e.RequestMessage.Length;

            // Send the response message back to the client.
            myReceiver.SendResponseMessage(e.ResponseReceiverId, aResponse.Length.ToString());
        }
示例#16
0
            private void OnMessageReceived(object sender, TypedRequestReceivedEventArgs <Interval> e)
            {
                using (EneterTrace.Entering())
                {
                    EneterTrace.Debug(string.Format("Address: {0} From: {1} To: {2}",
                                                    myRequestReceiver.AttachedDuplexInputChannel.ChannelId,
                                                    e.RequestMessage.From, e.RequestMessage.To));

                    double aResult = 0.0;
                    double aDx     = 0.000000001;
                    for (double x = e.RequestMessage.From; x < e.RequestMessage.To; x += aDx)
                    {
                        aResult += 2 * Math.Sqrt(1 - x * x) * aDx;
                    }

                    myRequestReceiver.SendResponseMessage(e.ResponseReceiverId, aResult);
                }
            }
示例#17
0
        private static void OnMessageReceived(object sender, TypedRequestReceivedEventArgs <Range> e)
        {
            Console.WriteLine("Calculate From: {0} To: {1}", e.RequestMessage.From, e.RequestMessage.To);

            // Calculate requested range.
            double aResult = 0.0;
            double aDx     = 0.000000001;

            for (double x = e.RequestMessage.From; x < e.RequestMessage.To; x += aDx)
            {
                aResult += 2 * Math.Sqrt(1 - x * x) * aDx;
            }

            // Response back the result.
            IDuplexTypedMessageReceiver <double, Range> aReceiver
                = (IDuplexTypedMessageReceiver <double, Range>)sender;

            aReceiver.SendResponseMessage(e.ResponseReceiverId, aResult);
        }
 public YZXResponseReceivedEventArgs(TypedRequestReceivedEventArgs <_ResponseMessageType> m)
 {
 }
        private void OnMessageReceived(object sender, TypedRequestReceivedEventArgs<ChatMessage> e)
        {
            if (e.ReceivingError != null)
            {
                LogMessage(e.ReceivingError.Message);
                return;
            }

               // LogMessage(String.Format("OnMessageReceived: ResponseReceiverId = {0}, SenderAddress = {1}, CalculationStep={2}", e.ResponseReceiverId, e.SenderAddress, e.RequestMessage?.CalculationStep)); ;
            // Get the receiver instance.
            IDuplexTypedMessageReceiver<ChatMessage, ChatMessage> aReceiver = (IDuplexTypedMessageReceiver<ChatMessage, ChatMessage>)sender;

            ChatMessage aResponseMessage = new ChatMessage();

            //// Calculate PI and send back multiple response messages.
            //double aResult = 0.0;
            //double aDx = e.RequestMessage.CalculationStep;
            //for (double x = -1.0; x < 1.0; x += aDx)
            //{
            //    aResult += 2 * Math.Sqrt(1 - x * x) * aDx;

            //    // Send back the current result.
            //    // Note: ResponseReceiverId identifies the client who sent the request.
            //    aResponseMessage.Result = aResult;
            //    aReceiver.SendResponseMessage(e.ResponseReceiverId, aResponseMessage);
            //    System.Threading.Thread.Sleep(100);
            //}

            aResponseMessage.Name = "Hi " + e.RequestMessage.Name;
            aResponseMessage.Text = "";
            aResponseMessage.DateTime = 100;
            aReceiver.SendResponseMessage(e.ResponseReceiverId, aResponseMessage);
        }
 private void AServiceOnMessageReceived(object sender, TypedRequestReceivedEventArgs <ElementQueryMessage> typedRequestReceivedEventArgs)
 {
     loadingForm.UpdateInfo(Actions.XMIExport, "Exporting Data for: " + typedRequestReceivedEventArgs.RequestMessage.Guid);
 }