資源簡介
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.xm
?????文件????????177??2018-10-18?09:29??vertx_mqtt\.idea\encodings.xm
?????文件????????568??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__ch_qos_logback_logback_classic_1_2_3.xm
?????文件????????547??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__ch_qos_logback_logback_core_1_2_3.xm
?????文件????????522??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_fasterxm
?????文件????????644??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_fasterxm
?????文件????????595??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_fasterxm
?????文件????????623??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_fasterxm
?????文件????????674??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_fasterxm
?????文件????????688??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_fasterxm
?????文件????????729??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_fasterxm
?????文件????????546??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_jayway_jsonpath_json_path_2_4_0.xm
?????文件????????700??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xm
?????文件????????572??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_buffer_4_1_29_Final.xm
?????文件????????565??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_4_1_29_Final.xm
?????文件????????593??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_dns_4_1_29_Final.xm
?????文件????????607??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_http2_4_1_29_Final.xm
?????文件????????600??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_http_4_1_29_Final.xm
?????文件????????600??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_mqtt_4_1_29_Final.xm
?????文件????????607??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_codec_socks_4_1_29_Final.xm
?????文件????????572??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_common_4_1_29_Final.xm
?????文件????????579??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_handler_4_1_29_Final.xm
?????文件????????621??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_handler_proxy_4_1_29_Final.xm
?????文件????????586??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_resolver_4_1_29_Final.xm
?????文件????????614??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_resolver_dns_4_1_29_Final.xm
?????文件????????593??2018-10-18?09:33??vertx_mqtt\.idea\libraries\Maven__io_netty_netty_transport_4_1_29_Final.xm
?????文件????????509??2018-10-18?11:01??vertx_mqtt\.idea\libraries\Maven__io_vertx_vertx_core_3_4_2.xm
?????文件????????558??2018-10-18?11:01??vertx_mqtt\.idea\libraries\Maven__io_vertx_vertx_mqtt_server_3_4_2.xm
?????文件????????611??2018-10-18?09:29??vertx_mqtt\.idea\libraries\Maven__javax_annotation_javax_annotation_api_1_3_2.xm
............此處省略118個文件信息
- 上一篇:Unity相機畫面渲染序列幀插件
- 下一篇:FPGA簡易頻率計
評論
共有 條評論