void HandleMqttHandlerInstanceClientMessageArrived(object sender, Nmqtt.MqttMessageEventArgs e) { // Assume the arrived message is a byte array that contains a simple ASCII string. string messagePublished = Encoding.ASCII.GetString((byte[])e.Message); MessageHistory += String.Format("{0}: {1}{2}", e.Topic, messagePublished, Environment.NewLine); }
/// <summary> /// Gets the received messages inside a publishing manager. /// </summary> /// <param name="pubMgr"></param> /// <returns></returns> private Dictionary<int, MqttPublishMessage> GetReceivedMessages(Nmqtt.PublishingManager pubMgr) { // we need to crack open the publishing manager and access some privates FieldInfo fi = typeof(Nmqtt.PublishingManager).GetField("receivedMessages", ReflectionBindingConstants.NonPublicField); return (Dictionary<int, MqttPublishMessage>)fi.GetValue(pubMgr); }