コード例 #1
0
        // incoming publish events
        // =======================

        void HandlePublishReceived(object sender, PublishReceivedEventArgs e)
        {
            // do something with the received message
            received += 1;
            Console.WriteLine("{0} << broker : Received {1} (topic:{2}, mid:{3})", ClientId, received, e.Topic, e.PacketId);
            if (e.Message.Length > 0)
            {
                Console.WriteLine("    received message is not empty");
            }
        }
コード例 #2
0
        // incoming publish events
        // =======================

        void HandlePublishReceived(object sender, PublishReceivedEventArgs e)
        {
            var number = ReadPayload(e.Message);

            numbersPersistence.RegisterReceivedNumber(e.Topic, number);

            Console.WriteLine("{0} << broker : {1} (topic:{2})", ClientId, number, e.Topic);

            if (e.Topic == TopicToPublish)
            {
                (sender as MqttConnection).InterruptLoop();
            }
        }
コード例 #3
0
        private void HandlePublishReceived(object sender, PublishReceivedEventArgs e)
        {
            var payload = Encoding.UTF8.GetString(e.Message);

            if (_responses.ContainsKey(e.Topic) == false)
            {
                _responses.Add(e.Topic, payload);
                _timeOfLastUniqueTopic = DateTime.Now;
            }
            else
            {
                _responses[e.Topic] = payload;
            }
        }
コード例 #4
0
        private void HandlePublishReceived(object sender, PublishReceivedEventArgs e)
        {
            try
            {
                if (e.Retain)
                {
                    return;
                }

                var data = Encoding.UTF8.GetString(e.Message ?? new byte[0]);

                logger.Debug($"PublishReceived: {e.Topic} '{data}'");

                var p = new JsonTopicPayloads()
                {
                    TopicName = e.Topic,
                    Payloads  = new[] { new JsonPayload()
                                        {
                                            Timestamp = DateTime.UtcNow.Ticks, Data = data
                                        } }
                };

                var req      = new PostPayloadsServerRequest(_RESTRequestSettings);
                var response = req.Execute(_connectionInfo.Connection.Server, _connectionInfo.Connection.ConnectionUser, new[] { p });

                if (response == null)
                {
                    throw new ApplicationException(req.LastError);
                }
                else if (response.ResultCode != JsonResultCode.OK)
                {
                    throw new ApplicationException($"responseResultCode={response.ResultCode.ToString()}, '{response.Message}'");
                }
            }
            catch (Exception ex)
            {
                logger.Error("Error in HandlePublishReceived", ex);
            }
        }