C#中的MQTT已恢复消息ID

时间:2018-03-29 09:35:03

标签: c# mqtt

您好我是新手,但我正在为Mosquitto经纪人开发一个客户端。

它运行正常,但我想知道如何在邮件中添加发件人ID。

即。消息来自" Client1" :" LightON"

这是我处理订阅的方式

private void Form1_Load_1(object sender, EventArgs e)
{
    try
    {
        IPAddress HostIP;
        HostIP = IPAddress.Parse(textBox1.Text);
        clientSub = new MqttClient(HostIP);
        clientSub.MqttMsgPublishReceived += new MqttClient.MqttMsgPublishEventHandler(EventPublished);
    }
    catch (InvalidCastException ex)
    {
        MessageBox.Show("ERROR ON LOAD" + ex.ToString());
    }
}

发布活动是:

private void EventPublished(Object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgPublishEventArgs e)
{
    try
    {
        SetText("Recevied Message..");
        SetText("The Topic is:" + e.Topic);
        SetText("*Message: " + System.Text.UTF8Encoding.UTF8.GetString(e.Message));
        SetText(""); 
    }
    catch (InvalidCastException ex)
    {
    }
}

我正在使用M2mqtt库。

1 个答案:

答案 0 :(得分:0)

执行此操作的唯一方法是自己将其添加到消息有效内容中。

MQTT标头中没有发布者ID的概念。客户端ID仅用于标识代理的客户端,而不是端到端。