diff --git a/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/dispatcher/AbstractMqttMessageDispatcher.java b/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/dispatcher/AbstractMqttMessageDispatcher.java index 7a53f062374e5ac66ddda8c996efc89e82cc4c3d..ec286b26a987a9fc172485bffa6931e4c43b71c6 100644 --- a/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/dispatcher/AbstractMqttMessageDispatcher.java +++ b/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/dispatcher/AbstractMqttMessageDispatcher.java @@ -58,13 +58,17 @@ public abstract class AbstractMqttMessageDispatcher implements IMqttMessageDispa @Override public boolean send(Message message) { Objects.requireNonNull(mqttServer, "MqttServer require not Null."); + // 1. 先发送到本服务 + ByteBuffer payload = ByteBuffer.wrap(message.getPayload()); + MqttQoS qoS = MqttQoS.valueOf(message.getQos()); + mqttServer.publishAll(message.getTopic(), payload, qoS); return sendAll(message); } @Override public boolean send(String clientId, Message message) { Objects.requireNonNull(mqttServer, "MqttServer require not Null."); - // 判断如果 clientId 就在本服务 + // 1. 判断如果 clientId 就在本服务,存在则发送 ServerTioConfig config = this.mqttServer.getServerConfig(); ChannelContext context = Tio.getByBsId(config, clientId); if (context != null) { diff --git a/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/support/DefaultMqttMessageDispatcher.java b/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/support/DefaultMqttMessageDispatcher.java index 678122d19693e044f16a2c139c66d10b651925a3..99ce00df5ce486cdc54fbb361d1a684ad1245dde 100644 --- a/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/support/DefaultMqttMessageDispatcher.java +++ b/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/support/DefaultMqttMessageDispatcher.java @@ -16,12 +16,9 @@ package net.dreamlu.iot.mqtt.core.server.support; -import net.dreamlu.iot.mqtt.codec.MqttQoS; import net.dreamlu.iot.mqtt.core.server.dispatcher.AbstractMqttMessageDispatcher; import net.dreamlu.iot.mqtt.core.server.model.Message; -import java.nio.ByteBuffer; - /** * 默认的消息转发器 * @@ -31,16 +28,12 @@ public class DefaultMqttMessageDispatcher extends AbstractMqttMessageDispatcher @Override public boolean sendAll(Message message) { - ByteBuffer payload = ByteBuffer.wrap(message.getPayload()); - MqttQoS qoS = MqttQoS.valueOf(message.getQos()); - return mqttServer.publishAll(message.getTopic(), payload, qoS); + return true; } @Override public boolean sendTo(String clientId, Message message) { - ByteBuffer payload = ByteBuffer.wrap(message.getPayload()); - MqttQoS qoS = MqttQoS.valueOf(message.getQos()); - return mqttServer.publish(clientId, message.getTopic(), payload, qoS); + return true; } }