public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            lblConnected.Text = "Disconnected";
            _mqttClient = MqttClientFactory.CreateClient("tcp://m11.cloudmqtt.com:12360", Guid.NewGuid().ToString(), "mike", "cloudmqtt");
            _mqttClient.Connected += (object sender, EventArgs e) => {

                InvokeOnMainThread(() =>
                {
                    var subscription = new Subscription("mqttdotnet/pubtest", QoS.BestEfforts);
                    _mqttClient.Subscribe(subscription);
                    setConneectedState();
                });
            };
            _mqttClient.ConnectionLost += (object sender, EventArgs e) => {
                InvokeOnMainThread(() => {
                    setDisconnectedState();
                });
            };
            _mqttClient.Subscribed += _mqttClient_Subscribed;
            _mqttClient.Unsubscribed += _mqttClient_Unsubscribed;
            _mqttClient.PublishArrived += _mqttClient_PublishArrived;

            _mqttClient.Connect();
        }
        /// <summary>
        /// Subscribe to multiple topics
        /// </summary>
        /// <param name="subscriptions">Array of Subscription objects</param>
        public MqttSubscribeMessage(ulong messageID, Subscription[] subscriptions)
            : base(MessageType.SUBSCRIBE)
        {
            _messageID = messageID;
            _subscriptions = subscriptions;
            base.msgQos = QoS.AtLeastOnce;
            // Work out the length of the payload
            int payloadLength = 0;
            foreach (Subscription s in _subscriptions)
            {
              payloadLength += (2 + GetUTF8StringLength(s.Topic) + 1);
            }

            this.variableHeaderLength = (
                                            8 + // Length of message ID
                                            payloadLength // Length of the payload
                                        );
        }
Esempio n. 3
0
        public void Subscribe(Subscription subscription, PublishArrivedDelegate subscriber)
        {
            if (topicTree == null)
              {
            topicTree = new TopicTree<PublishArrivedDelegate>();
              }

              topicTree.Add( subscription.Topic, subscriber);

              // TODO: Check if we're already subscribed.
              Subscribe(subscription);
        }
Esempio n. 4
0
 public int Subscribe(Subscription subscription)
 {
     return Subscribe(new Subscription[] { subscription });
 }
Esempio n. 5
0
 public int Subscribe(Subscription[] subscriptions)
 {
     if (manager.IsConnected)
     {
         ushort messID = MessageID;
         manager.SendMessage(new MqttSubscribeMessage(messID, subscriptions));
         return messID;
     }
     else
     {
         throw new MqttNotConnectedException("You need to connect to a broker before trying to Publish");
     }
 }
Esempio n. 6
0
 public ulong Subscribe(Subscription subscription)
 {
     return Subscribe(new Subscription[] { subscription });
 }