• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java MqttMessageType类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中io.netty.handler.codec.mqtt.MqttMessageType的典型用法代码示例。如果您正苦于以下问题:Java MqttMessageType类的具体用法?Java MqttMessageType怎么用?Java MqttMessageType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MqttMessageType类属于io.netty.handler.codec.mqtt包,在下文中一共展示了MqttMessageType类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: connect

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
public static MqttConnectMessage connect(ConnectOptions options) {
	MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.CONNECT, false, MqttQoS.AT_MOST_ONCE, false,
			10);
	MqttConnectVariableHeader variableHeader = new MqttConnectVariableHeader(options.version().protocolName(),
			options.version().protocolLevel(), options.userName() != null, options.password() != null,
			options.will() == null ? false : options.will().isRetain(),
			options.will() == null ? 0 : options.will().qos().value(), options.will() != null,
			options.cleanSession(), options.keepAliveTimeSeconds());

	MqttConnectPayload payload = new MqttConnectPayload(Strings.nullToEmpty(options.clientId()),
			options.will() == null ? "" : options.will().topicName(),
			options.will() == null ? "" : new String(options.will().message(), CharsetUtil.UTF_8),
			Strings.nullToEmpty(options.userName()), Strings.nullToEmpty(options.password()));

	return new MqttConnectMessage(fixedHeader, variableHeader, payload);
}
 
开发者ID:anyflow,项目名称:lannister,代码行数:17,代码来源:MqttMessageFactory.java


示例2: executeNormalChannelRead0

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
private MqttConnAckMessage executeNormalChannelRead0(String clientId, boolean cleanSession, ChannelId channelId)
		throws Exception {
	MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.CONNECT, false, MqttQoS.AT_MOST_ONCE, false,
			10);
	MqttConnectVariableHeader variableHeader = new MqttConnectVariableHeader("MQTT", 4, true, true, true, 0, true,
			cleanSession, 60);
	MqttConnectPayload payload = new MqttConnectPayload(clientId, "willtopic", "willmessage", "username",
			"password");

	MqttConnectMessage msg = new MqttConnectMessage(fixedHeader, variableHeader, payload);

	ChannelId cid = channelId == null ? TestUtil.newChannelId(clientId, false) : channelId;

	EmbeddedChannel channel = new EmbeddedChannel(cid, new ConnectReceiver());

	channel.writeInbound(msg);

	return channel.readOutbound();
}
 
开发者ID:anyflow,项目名称:lannister,代码行数:20,代码来源:ConnectReceiverTest.java


示例3: channelRead

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
@Override
public void channelRead(ChannelHandlerContext ctx, Object message) {
    MqttMessage msg = (MqttMessage) message;
    MqttMessageType messageType = msg.fixedHeader().messageType();

    try {
        switch (messageType) {
            case PUBLISH:
                LOG.info("Received a message of type {}", messageType);
                handlePublish((MqttPublishMessage) msg);
                return;
            default:
                LOG.info("Received a message of type {}", messageType);
        }
    } catch (Exception ex) {
        LOG.error("Bad error in processing the message", ex);
    }
}
 
开发者ID:andsel,项目名称:moquette,代码行数:19,代码来源:PublishReceiverHandler.java


示例4: channelRead

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
@Override
public void channelRead(ChannelHandlerContext ctx, Object message) {
    MqttMessage msg = (MqttMessage) message;
    MqttMessageType type = msg.fixedHeader().messageType();

    try {
        switch (type) {
            case PUBLISH:
                LOG.info("Received a message of type {}", type);
                handlePublish((MqttPublishMessage) msg);
                return;
            default:
                LOG.info("Received a message of type {}", type);
        }
    } catch (Exception ex) {
        LOG.error("Bad error in processing the message", ex);
    }
}
 
开发者ID:andsel,项目名称:moquette,代码行数:19,代码来源:NettyPublishReceiverHandler.java


示例5: sendPubAck

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
private void sendPubAck(String clientId, int messageID) {
    LOG.trace("sendPubAck invoked");
    MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBACK, false, AT_MOST_ONCE, false, 0);
    MqttPubAckMessage pubAckMessage = new MqttPubAckMessage(fixedHeader, from(messageID));

    try {
        if (connectionDescriptors == null) {
            throw new RuntimeException("Internal bad error, found connectionDescriptors to null while it should " +
                "be initialized, somewhere it's overwritten!!");
        }
        LOG.trace("connected clientIDs are {}", connectionDescriptors.getConnectedClientIds());
        if (!connectionDescriptors.isConnected(clientId)) {
            throw new RuntimeException(String.format("Can't find a ConnectionDescriptor for client %s in cache %s",
                clientId, connectionDescriptors));
        }
        connectionDescriptors.sendMessage(pubAckMessage, messageID, clientId);
    } catch (Throwable t) {
        LOG.error(null, t);
    }
}
 
开发者ID:andsel,项目名称:moquette,代码行数:21,代码来源:Qos1PublishHandler.java


示例6: channelRead

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
@Override
public void channelRead(ChannelHandlerContext ctx, Object message) {
    MqttMessage msg = (MqttMessage) message;
    MqttMessageType messageType = msg.fixedHeader().messageType();
    switch (messageType) {
        case PUBLISH:
            this.publishesMetrics.mark();
            break;
        case SUBSCRIBE:
            this.subscribeMetrics.mark();
            break;
        case CONNECT:
            this.connectedClientsMetrics.inc();
            break;
        case DISCONNECT:
            this.connectedClientsMetrics.dec();
            break;
        default:
            break;
    }
    ctx.fireChannelRead(message);
}
 
开发者ID:andsel,项目名称:moquette,代码行数:23,代码来源:DropWizardMetricsHandler.java


示例7: mapToInternal

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
/**
 * Convert Map to InternalMessage
 *
 * @param map Map
 * @return InternalMessage
 */
public static InternalMessage mapToInternal(Map<String, String> map) {
    if (map == null || map.isEmpty()) return null;

    int type = Integer.parseInt(map.get("type"));
    if (type == MqttMessageType.PUBLISH.value()) {
        byte[] payload = null;
        if (map.get("payload") != null) try {
            payload = map.get("payload").getBytes("ISO-8859-1");
        } catch (UnsupportedEncodingException ignore) {
        }
        return new InternalMessage<>(
                MqttMessageType.PUBLISH,
                BooleanUtils.toBoolean(map.getOrDefault("dup", "0"), "1", "0"),
                MqttQoS.valueOf(Integer.parseInt(map.getOrDefault("qos", "0"))),
                BooleanUtils.toBoolean(map.getOrDefault("retain", "0"), "1", "0"),
                MqttVersion.valueOf(map.getOrDefault("version", MqttVersion.MQTT_3_1_1.toString())),
                map.get("clientId"),
                map.get("userName"),
                null,
                new Publish(
                        map.get("topicName"),
                        Integer.parseInt(map.getOrDefault("packetId", "0")),
                        payload
                ));
    } else if (type == MqttMessageType.PUBREL.value()) {
        return new InternalMessage<>(
                MqttMessageType.PUBREL,
                false,
                MqttQoS.AT_LEAST_ONCE,
                false,
                MqttVersion.valueOf(map.getOrDefault("version", MqttVersion.MQTT_3_1_1.toString())),
                map.get("clientId"),
                map.get("userName"),
                null,
                new PacketId(Integer.parseInt(map.getOrDefault("packetId", "0"))));
    } else {
        throw new IllegalArgumentException("Invalid in-flight MQTT message type: " + MqttMessageType.valueOf(type));
    }
}
 
开发者ID:12315jack,项目名称:j1st-mqtt,代码行数:46,代码来源:Converter.java


示例8: internalToMap

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
/**
 * Convert InternalMessage to Map
 *
 * @param msg InternalMessage
 * @return Map
 */
public static Map<String, String> internalToMap(InternalMessage msg) {
    Map<String, String> map = new HashMap<>();
    if (msg == null) return map;

    if (msg.getMessageType() == MqttMessageType.PUBLISH) {
        Publish publish = (Publish) msg.getPayload();
        map.put("type", String.valueOf(MqttMessageType.PUBLISH.value()));
        map.put("retain", BooleanUtils.toString(msg.isRetain(), "1", "0"));
        map.put("qos", String.valueOf(msg.getQos().value()));
        map.put("dup", BooleanUtils.toString(msg.isDup(), "1", "0"));
        map.put("version", msg.getVersion().toString());
        if (!msg.isRetain()) map.put("clientId", msg.getClientId());
        map.put("userName", msg.getUserName());
        map.put("topicName", publish.getTopicName());
        if (!msg.isRetain()) map.put("packetId", String.valueOf(publish.getPacketId()));
        if (publish.getPayload() != null && publish.getPayload().length > 0) try {
            map.put("payload", new String(publish.getPayload(), "ISO-8859-1"));
        } catch (UnsupportedEncodingException ignore) {
        }
        return map;
    } else if (msg.getMessageType() == MqttMessageType.PUBREL) {
        PacketId packetId = (PacketId) msg.getPayload();
        map.put("type", String.valueOf(MqttMessageType.PUBREL.value()));
        map.put("version", msg.getVersion().toString());
        map.put("clientId", msg.getClientId());
        map.put("userName", msg.getUserName());
        map.put("packetId", String.valueOf(packetId.getPacketId()));
        return map;
    } else {
        throw new IllegalArgumentException("Invalid in-flight MQTT message type: " + msg.getMessageType());
    }
}
 
开发者ID:12315jack,项目名称:j1st-mqtt,代码行数:39,代码来源:Converter.java


示例9: channelRead

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
    if (msg instanceof MqttMessage) {
        MqttMessage mqtt = (MqttMessage) msg;
        if (StringUtils.isBlank(this.clientId) && mqtt.fixedHeader().messageType() == MqttMessageType.CONNECT) {
            this.clientId = ((MqttConnectPayload) mqtt.payload()).clientId();
        }
        if (StringUtils.isNotBlank(this.clientId)) {
            this.metrics.measurement(this.clientId, this.brokerId, MessageDirection.IN, mqtt.fixedHeader().messageType());
        }
        this.metrics.measurement(this.brokerId, MessageDirection.IN, mqtt.fixedHeader().messageType());
    }
    ctx.fireChannelRead(msg);
}
 
开发者ID:12315jack,项目名称:j1st-mqtt,代码行数:15,代码来源:MessageMetricsHandler.java


示例10: measurement

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
@Override
public void measurement(String clientId, String brokerId, MessageDirection direction, MqttMessageType type) {
    Point point = Point.measurement("mqtt_client_" + clientId)
            .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
            .tag("broker", brokerId)
            .tag("direction", direction.toString())
            .tag("type", getMessageTypeName(type))
            .field("count", 1L)
            .build();
    this.influxDB.write(this.dbName, "default", point);
}
 
开发者ID:12315jack,项目名称:j1st-mqtt,代码行数:12,代码来源:InfluxDBMetricsService.java


示例11: getMessageTypeName

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
protected String getMessageTypeName(MqttMessageType type) {
    switch (type) {
        case CONNECT:
            return "connect";
        case CONNACK:
            return "connack";
        case PUBLISH:
            return "publish";
        case PUBACK:
            return "puback";
        case PUBREC:
            return "pubrec";
        case PUBREL:
            return "pubrel";
        case PUBCOMP:
            return "pubcomp";
        case SUBSCRIBE:
            return "subscribe";
        case SUBACK:
            return "suback";
        case UNSUBSCRIBE:
            return "unsubscribe";
        case UNSUBACK:
            return "unsuback";
        case PINGREQ:
            return "pingreq";
        case PINGRESP:
            return "pingresp";
        case DISCONNECT:
            return "disconnect";
        default:
            return "unknown";
    }
}
 
开发者ID:12315jack,项目名称:j1st-mqtt,代码行数:35,代码来源:InfluxDBMetricsService.java


示例12: find

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
public static void find(){
    Set<Class<?>> validatorClasses = find(Validator.class, VALIDATOR_PKG);
    Iterator<Class<?>> iterator = validatorClasses.iterator();
    while(iterator.hasNext()){
        Class<?> cls = iterator.next();
        Validator validator = cls.getAnnotation(Validator.class);
        MqttMessageType type = validator.type();
        switch (type){
            case CONNECT:
                buildConnectValidatorCache(cls);
                break;
        }
    }
}
 
开发者ID:Dovakin-IO,项目名称:DovakinMQ,代码行数:15,代码来源:AnnotationFinder.java


示例13: doMessage

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
public MqttMessage doMessage(Channel channel, MqttMessage msg) {
    String channelId = channel.id().asLongText();
    logger.debug("MQTT PINGREQ " + channelId);

    // 更新最新连接时间
    ApplicationContext.updateChannelConTime(channelId);

    MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PINGRESP, false, MqttQoS.AT_MOST_ONCE, false, 0);
    MqttMessage message = new MqttMessage(fixedHeader);

    return message;
}
 
开发者ID:airballcz,项目名称:iot-platform,代码行数:13,代码来源:PingReqHandler.java


示例14: onMsg

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
@Override
public void onMsg(SessionCtrlMsg msg) throws SessionException {
  if (msg instanceof SessionCloseMsg) {
    pushToNetwork(
        new MqttMessage(new MqttFixedHeader(MqttMessageType.DISCONNECT, false, MqttQoS.AT_MOST_ONCE, false, 0)));
    channel.close();
  }
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:9,代码来源:DeviceSessionCtx.java


示例15: createMqttPublishMsg

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
private MqttPublishMessage createMqttPublishMsg(DeviceSessionCtx ctx, String topic, JsonElement json) {
  MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.PUBLISH, false, MqttQoS.AT_LEAST_ONCE, false,
      0);
  MqttPublishVariableHeader header = new MqttPublishVariableHeader(topic, ctx.nextMsgId());
  ByteBuf payload = ALLOCATOR.buffer();
  payload.writeBytes(GSON.toJson(json).getBytes(UTF8));
  return new MqttPublishMessage(mqttFixedHeader, header, payload);
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:9,代码来源:JsonMqttAdaptor.java


示例16: connack

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
public static MqttConnAckMessage connack(MqttConnectReturnCode returnCode, boolean sessionPresent) {
	MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.CONNACK, false, MqttQoS.AT_MOST_ONCE, false,
			2);
	MqttConnAckVariableHeader variableHeader = new MqttConnAckVariableHeader(returnCode, sessionPresent);

	return new MqttConnAckMessage(fixedHeader, variableHeader);
}
 
开发者ID:anyflow,项目名称:lannister,代码行数:8,代码来源:MqttMessageFactory.java


示例17: puback

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
public static MqttPubAckMessage puback(int messageId) {
	MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBACK, false, MqttQoS.AT_MOST_ONCE, false,
			2);
	MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId);

	return new MqttPubAckMessage(fixedHeader, variableHeader);
}
 
开发者ID:anyflow,项目名称:lannister,代码行数:8,代码来源:MqttMessageFactory.java


示例18: pubrec

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
public static MqttMessage pubrec(int messageId) {
	MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREC, false, MqttQoS.AT_MOST_ONCE, false,
			2);
	MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId);

	return new MqttMessage(fixedHeader, variableHeader);
}
 
开发者ID:anyflow,项目名称:lannister,代码行数:8,代码来源:MqttMessageFactory.java


示例19: pubrel

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
public static MqttMessage pubrel(int messageId) {
	MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREL, false, MqttQoS.AT_LEAST_ONCE, false,
			2);
	MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId);

	return new MqttMessage(fixedHeader, variableHeader);
}
 
开发者ID:anyflow,项目名称:lannister,代码行数:8,代码来源:MqttMessageFactory.java


示例20: pubcomp

import io.netty.handler.codec.mqtt.MqttMessageType; //导入依赖的package包/类
public static MqttMessage pubcomp(int messageId) {
	MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBCOMP, false, MqttQoS.AT_MOST_ONCE, false,
			2);
	MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId);

	return new MqttMessage(fixedHeader, variableHeader);
}
 
开发者ID:anyflow,项目名称:lannister,代码行数:8,代码来源:MqttMessageFactory.java



注:本文中的io.netty.handler.codec.mqtt.MqttMessageType类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java OFTableFeaturePropWriteActions类代码示例发布时间:2022-05-22
下一篇:
Java Stat类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap