bool client_PublishArrived(object sender, PublishArrivedArgs e) { Console.WriteLine("Received Message"); Console.WriteLine("Topic: " + e.Topic); Console.WriteLine("Payload: " + e.Payload); Console.WriteLine(); return true; }
protected void OnPublishArrived(MqttPublishMessage m) { bool accepted = false; if (PublishArrived != null) { PublishArrivedArgs e = new PublishArrivedArgs(m.Topic, m.Payload, m.Retained, m.QualityOfService); try { accepted |= PublishArrived(this, e); } catch (Exception ex) { MqttLib.Logger.Log.Write(LogLevel.ERROR, "MqttLib: Uncaught exception from user delegate: " + ex.ToString()); } } if (topicTree != null) { PublishArrivedArgs e = new PublishArrivedArgs(m.Topic, m.Payload, m.Retained, m.QualityOfService); List <PublishArrivedDelegate> subscribers = topicTree.CollectMatches(new Topic(m.Topic)); foreach (PublishArrivedDelegate pad in subscribers) { try { accepted |= pad(this, e); } catch (Exception ex) { MqttLib.Logger.Log.Write(LogLevel.ERROR, "MqttLib: Uncaught exception from user delegate: " + ex.ToString()); } } } if (m.QualityOfService > QoS.BestEfforts) { qosManager.PublishAccepted(m.MessageID, accepted); } }
protected void OnPublishArrived(MqttPublishMessage m) { bool accepted = false; if (PublishArrived != null) { PublishArrivedArgs e = new PublishArrivedArgs(m.Topic, m.Payload, m.Retained, m.QualityOfService); try { accepted |= PublishArrived(this, e); } catch(Exception ex) { MqttLib.Logger.Log.Write(LogLevel.ERROR, "MqttLib: Uncaught exception from user delegate: " + ex.ToString()); } } if (topicTree != null) { PublishArrivedArgs e = new PublishArrivedArgs(m.Topic, m.Payload, m.Retained, m.QualityOfService); List<PublishArrivedDelegate> subscribers = topicTree.CollectMatches(new Topic(m.Topic)); foreach (PublishArrivedDelegate pad in subscribers) { try { accepted |= pad(this, e); } catch (Exception ex) { MqttLib.Logger.Log.Write(LogLevel.ERROR, "MqttLib: Uncaught exception from user delegate: " + ex.ToString()); } } } if (m.QualityOfService > QoS.BestEfforts) { qosManager.PublishAccepted(m.MessageID, accepted); } }
private bool OnReceived(object sender, PublishArrivedArgs ea) { Log.Info("Received Message"); Log.Info("Topic: " + ea.Topic); Log.Info("MqttAdaptor.OnReceived, topic={0}", ea.Topic); var topic = ea.Topic.Split('/'); var sid = topic[1]; var mode = MetaData.GetMode(topic[2]); var toQuery = mode == Mode.Return ? delegates : implements; IMessageConsumer msgConsumer; if (toQuery.TryGetValue(sid, out msgConsumer)) { var job = new DefferedJob() { Buffer = (byte[])ea.Payload.TrimmedBuffer.Clone(), Mode = mode, MessageConsumer = msgConsumer, }; lock (defferedJobs) { defferedJobs.Enqueue(job); } } return true; }
private bool _mqttClient_PublishArrived(object sender, PublishArrivedArgs e) { InvokeOnMainThread(() => { lblReceivedMessage.Text = e.Payload.ToString(); }); return true; }
bool _client_PublishArrived(object sender, PublishArrivedArgs e) { if (e!=null && !string.IsNullOrEmpty(e.Topic)) { // Is this a ping request if (e.Topic.EndsWith("/ping")) { // Route the ping response back to the originator _client.Publish(e.Topic.Replace("/ping", "/pingresp"), new MqttPayload(e.Payload), QoS.BestEfforts, false); } // Look for changes in the MQTT Client connections and send it to the browser if (e.Topic.Contains("$SYS/broker/clients/active")) { int count = 0; if (int.TryParse(e.Payload, out count)) SendConnectedMQTTClients(count); } CommandEventArgs args = CommandEventArgs.BuildCommandArgs(e.Topic, e.Payload); if (args != null) { // Only allow 1 thread to update the state of the security system at one time lock (_myLock) { _securitySystem.ProcessCommand(args); } } } return true; }