Exemple #1
0
        public CommandResult ExecuteCommand(String Target, Command Command, int Port = 0)
        {
            var message = new CommandMessage()
            {
                Sender    = Caspara.DeviceName,
                RespondTo = ResponseTopic,
                Command   = Command
            };

            string commandString = Serializer.Serialize(message, SerializeType.JSON);

            MessageReceived     = false;
            ReceivedMessageText = null;
            Client.Publish(Target + ".EXECUTE.COMMAND", commandString);

            bool timeout = false;

            while (!MessageReceived && !timeout)
            {
                timeout = (DateTime.Now - Command.TimeStamp).TotalSeconds < Command.TimeOutSeconds;
                Thread.Sleep(1);
            }

            if (!timeout)
            {
                var response = Serializer.Deserialize <CommandResult>(ReceivedMessageText, SerializeType.JSON);
                return(response);
            }

            return(null);
        }
Exemple #2
0
        private void Client_MessageReceived(object sender, string e)
        {
            var response = ResponseService.GetResponse(e);

            Client.Publish(response.RespondTo, response.Message);
        }
        public void Publish(Observations.ObservationMessage Message)
        {
            var msg = JsonConvert.SerializeObject(Message);

            Client.Publish(Message.Topic, msg);
        }