回复#25 @admin :
谢谢回复,直接这样不行。我查了 dll 的 Payload 需要是byte[],而aardio 下buffer 对应 byte[] ,所以需要如下处理才发送正常:
hexstring="55 AA AA AA AA AA 00 01 2F D7 16" var payload_b另外,再请教版主,如果发送十六进制数据,比如我要发送这个HEX字符串:“55 AA AA AA AA AA 00 01 2F D7 16”
// 设置负载 var payload = System.Text.Encoding.UTF8.GetBytes("This is test message!"); message.Payload = payload; // 直接设置 Payload 属性回复#22 @admin :
下载了楼主位的 .dll测试就没有闪退现象,说明版本的问题。另外注意:新版本的好像有次数限制。
大致研究了下,基本算在aardio下完整实现了连接(带验证),订阅,发布等功能,贴下供一起学习。目前的一个问题就是mqttClient.OnMqttMessageReceived事件里无法把接收到的数据显示到 富文本框里,只能打印在普通文本框中或控制台,如下:
winform.edit.text = topic;
console.log("topic:",topic)
回复#15 @admin :
再请教:
在 OnMqttMessageReceived 这个线程回调函数里需要把接收数据显示到一个文本框里,但是收到信息会出现 闪崩现象。谢谢
thread.command.instance().updateStatic = function(stopic){ winform.ttopic.text=好的,谢谢,可以了,如下:
var credential = HSIdll.new("HslCommunication.MQTT.MqttCredential", "admin", "admin");
//创建 MqttCredential 对象并设置用户名和密码
options.Credentials = credential;
请问楼上aardio 如何加个密码验证:Credentials = new MqttCredential("admin", "123456") ,谢谢
大神可以试试如何连接 emq 服务器,这样更好玩。 aardio应该可以使用 mqtt.js库。 有熟悉的朋友可以展示下哈
确实比较精简,一直对socket 十六进制收发 不是很明白,可否做些示例,谢谢