【发布时间】:2023-04-03 02:34:01
【问题描述】:
我已经用 Java 和 mosquitto-broker 编写了 PAHO 客户端 MQTT 程序。
Publisher sn-p 代码: Publisher 发送从 0 到 254 的数字。
char[] charset = new char[255];
for(int i=0;i< 255;i++)
{
charset[i] = (char)i;
System.out.println(i+" "+(int)charset[i]);
}
String str2 = String.valueOf(charset);
MqttMessage message1 = new MqttMessage();
message1.setPayload(str2.getBytes());
client.publish("temperature",message1);
订阅者 sn-p 代码: 订阅者预计会收到 0 到 254 之间的数字。
byte[] ascii = message.getBytes();
for (int i = 0; i <ascii.length; i++)
{
System.out.println(i +" "+(long)(ascii[i] & 0xFF));
}
输出快照: Publisher output
订阅者输出问题:
订阅者输出中从 128 到 159 的索引正在接收值“63”而不是 从发布方发送的普通号码。
【问题讨论】: