• 大小: 46KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-14
  • 语言: 其他
  • 标签: 物联网  mqtt  

资源简介

vert.x结合springboot开发mqtt服务端,直接启动主类。

资源截图

代码片段和文件信息

package com.yumg.vertx_mqtt;

import io.netty.handler.codec.mqtt.MqttQoS;
import io.vertx.core.Vertx;
import io.vertx.core.buffer.Buffer;
import io.vertx.mqtt.MqttServer;
import io.vertx.mqtt.MqttTopicSubscription;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import javax.annotation.PostConstruct;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

@SpringBootApplication
public class VertxMqttApplication {
    public static void main(String[] args) {
        SpringApplication.run(VertxMqttApplication.class args);
    }
    @PostConstruct
    public void init(){
        Vertx vertx = Vertx.vertx();
        MqttServer mqttServer = MqttServer.create(vertx);
        mqttServer.endpointHandler(endpoint -> {

            // shows main connect info
            System.out.println(“MQTT client [“ + endpoint.clientIdentifier() + “] request to connect clean session = “ + endpoint.isCleanSession());

            if (endpoint.auth() != null) {
                System.out.println(“[username = “ + endpoint.auth().userName() + “ password = “ + endpoint.auth().password() + “]“);
            }
            if (endpoint.will() != null) {
                System.out.println(“[will topic = “ + endpoint.will().willTopic() + “ msg = “ + endpoint.will().willMessage() +
                        “ QoS = “ + endpoint.will().willQos() + “ isRetain = “ + endpoint.will().isWillRetain() + “]“);
            }
            endpoint.disconnectHandler(v->{
                System.out.println(“disconnect from client...“);
            });

            System.out.println(“[keep alive timeout = “ + endpoint.keepAliveTimeSeconds() + “]“);

            endpoint.subscribeHandler(subscribe->{
                List grantedQosLevels = new ArrayList();
                for (MqttTopicSubscription s: subscribe.topicSubscriptions()) {
                    System.out.println(“Subscription for “ + s.topicName() + “ with QoS “ + s.qualityOfService());
                    grantedQosLevels.add(s.qualityOfService());
                }
                // ack the subscriptions request
                endpoint.subscribeAcknowledge(subscribe.messageId() grantedQosLevels);
            });
            endpoint.unsubscribeHandler(unsubscribe -> {

                for (String t: unsubscribe.topics()) {
                    System.out.println(“Unsubscription for “ + t);
                }
                // ack the subscriptions request
                endpoint.unsubscribeAcknowledge(unsubscribe.messageId());
            });
            endpoint.publishHandler(message -> {

                System.out.println(“Just received message [“ + message.payload().toString(Charset.defaultCharset()) + “] with QoS [“ + message.qosLevel() + “]“);

                if (message.qosLevel() == MqttQoS.AT_LEAST_ONCE) {
                    endpoint.publishAcknowledge(message.messageId());
                } else 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        268  2018-10-18 09:29  vertx_mqtt\.gitignore

     文件        647  2018-10-18 09:29  vertx_mqtt\.idea\compiler.xml

     文件        177  2018-10-18 09:29  vertx_mqtt\.idea\encodings.xml

     文件        568  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__ch_qos_logback_logback_classic_1_2_3.xml

     文件        547  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__ch_qos_logback_logback_core_1_2_3.xml

     文件        522  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_fasterxml_classmate_1_3_4.xml

     文件        644  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml

     文件        595  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml

     文件        623  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml

     文件        674  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml

     文件        688  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml

     文件        729  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml

     文件        546  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_jayway_jsonpath_json_path_2_4_0.xml

     文件        700  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml

     文件        572  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_buffer_4_1_29_Final.xml

     文件        565  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_4_1_29_Final.xml

     文件        593  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_dns_4_1_29_Final.xml

     文件        607  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_http2_4_1_29_Final.xml

     文件        600  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_http_4_1_29_Final.xml

     文件        600  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_mqtt_4_1_29_Final.xml

     文件        607  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_socks_4_1_29_Final.xml

     文件        572  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_common_4_1_29_Final.xml

     文件        579  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_handler_4_1_29_Final.xml

     文件        621  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_handler_proxy_4_1_29_Final.xml

     文件        586  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_resolver_4_1_29_Final.xml

     文件        614  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_resolver_dns_4_1_29_Final.xml

     文件        593  2018-10-18 09:33  vertx_mqtt\.idea\libraries\Maven__io_netty_netty_transport_4_1_29_Final.xml

     文件        509  2018-10-18 11:01  vertx_mqtt\.idea\libraries\Maven__io_vertx_vertx_core_3_4_2.xml

     文件        558  2018-10-18 11:01  vertx_mqtt\.idea\libraries\Maven__io_vertx_vertx_mqtt_server_3_4_2.xml

     文件        611  2018-10-18 09:29  vertx_mqtt\.idea\libraries\Maven__javax_annotation_javax_annotation_api_1_3_2.xml

............此处省略118个文件信息

评论

共有 条评论