c# - 在 Visual Studio 2019 (C#) 中找不到 MqttMsgSubscribe.cs 错误
问题描述
我有一个奇怪的错误,代码如下:
MqttClient mClient = null;
string[] topics = { "topic1", "topic1", "topic3" , "topic4"};
mClient = new MqttClient("127.0.0.1");
mClient.Connect(Guid.NewGuid().ToString());
if (!mClient.IsConnected) {
Console.WriteLine("Error Connecting to message broker...");
return;
}
Client.MqttMsgPublishReceived += MClient_MqttMsgPublishReceived;
byte[] qosLevels = { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE };
mClient.Subscribe(topics, qosLevels);
使用 4 个字符串({ "topic1", "topic1", "topic3" , "topic4"})
,我MqttMsgSubscribe.cs
没有找到错误,但使用 3个字符串({ "topic1", "topic1", "topic3"})
,应用程序运行良好,没有任何错误,有人可以帮助我吗?
解决方案
这是因为您的topics
数组有 4 个项目,但qosLevels
只有 3 个 :) 这些数组中的项目数应该完全相同。
所以,这样做:
byte[] qosLevels = { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE };
推荐阅读
- flutter - Flutter 子类 Scaffold,因此我可以确保 Drawer 和 BottomNavigationBar 始终存在
- java - 在hibernate中找出数据库条目和存储在应用程序中的条目之间的最快方法
- javascript - 在 TS/JS 中对对象数组的值求和
- php - 没有管道的MYSQL UPDATE注入
- javascript - 使用 NodeJS 将数据编码为 JWT 令牌得到错误 PEM 例程:PEM_read_bio:no start line
- nco - 如何使用 ncrcat 或 cdo 合并打包的 netcdf 文件进行连接
- php - 为什么我不能做删除功能?
- python - 如何找到两幅图像中检测到的特征之间的对应关系?
- wpf - 单击上下文菜单中的移动时,将鼠标位置设置为无边框窗口中的标题中心
- css - CSS - 如何在一个容器中显示 3 个相同大小的图像,但故意切断两侧的图像