|
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
|
|
|
import com.zksy.pole.MQTTServer.config.MQTTServerProperties;
|
|
import com.zksy.pole.MQTTServer.config.MQTTServerProperties;
|
|
|
import com.zksy.pole.MQTTServer.server.MQTTServer;
|
|
import com.zksy.pole.MQTTServer.server.MQTTServer;
|
|
|
|
|
+import com.zksy.pole.factory.HandleCmdFactory;
|
|
|
import io.netty.buffer.ByteBuf;
|
|
import io.netty.buffer.ByteBuf;
|
|
|
import io.netty.buffer.Unpooled;
|
|
import io.netty.buffer.Unpooled;
|
|
|
import io.netty.channel.Channel;
|
|
import io.netty.channel.Channel;
|
|
@@ -79,16 +80,13 @@ public class BootNettyMqttMsgBack {
|
|
|
public void puback (Channel channel, MqttMessage mqttMessage) throws InterruptedException {
|
|
public void puback (Channel channel, MqttMessage mqttMessage) throws InterruptedException {
|
|
|
MqttPublishMessage mqttPublishMessage = (MqttPublishMessage) mqttMessage;
|
|
MqttPublishMessage mqttPublishMessage = (MqttPublishMessage) mqttMessage;
|
|
|
MqttFixedHeader mqttFixedHeaderInfo = mqttPublishMessage.fixedHeader();
|
|
MqttFixedHeader mqttFixedHeaderInfo = mqttPublishMessage.fixedHeader();
|
|
|
- Object obj= mqttMessage.variableHeader();
|
|
|
|
|
- MqttPublishVariableHeader variableHeader=(MqttPublishVariableHeader)obj;
|
|
|
|
|
- String topicName=variableHeader.topicName();
|
|
|
|
|
- System.err.println("topicName========"+topicName);
|
|
|
|
|
MqttQoS qos = mqttFixedHeaderInfo.qosLevel();
|
|
MqttQoS qos = mqttFixedHeaderInfo.qosLevel();
|
|
|
//注意: readableBytes会改变写指针位置,使后续推送数据时,读取数据为空,需要重置 读指针
|
|
//注意: readableBytes会改变写指针位置,使后续推送数据时,读取数据为空,需要重置 读指针
|
|
|
byte[] headBytes = new byte[mqttPublishMessage.payload().readableBytes()];
|
|
byte[] headBytes = new byte[mqttPublishMessage.payload().readableBytes()];
|
|
|
mqttPublishMessage.payload().readBytes(headBytes);
|
|
mqttPublishMessage.payload().readBytes(headBytes);
|
|
|
String data = new String(headBytes);
|
|
String data = new String(headBytes);
|
|
|
System.out.println("收到数据-->"+data);
|
|
System.out.println("收到数据-->"+data);
|
|
|
|
|
+ HandleCmdFactory.HandleCmd(data);
|
|
|
//重置读取的指针
|
|
//重置读取的指针
|
|
|
mqttPublishMessage.payload().resetReaderIndex();
|
|
mqttPublishMessage.payload().resetReaderIndex();
|
|
|
//(qos= 0最多一次的传输,1至少一次的传输,2: 只有一次的传输)
|
|
//(qos= 0最多一次的传输,1至少一次的传输,2: 只有一次的传输)
|