真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用代碼實現(xiàn)發(fā)送MQTT消息-創(chuàng)新互聯(lián)

MQTT協(xié)議因低延遲、效率高在工業(yè)物聯(lián)網(wǎng)領(lǐng)域使用的頻率特別高,前面兩篇文檔分別對MQTT內(nèi)容和MQTT服務(wù)器做了簡單介紹,今天本文從實戰(zhàn)的角度闡述如何用代碼實現(xiàn)發(fā)送MQTT消息。

為鄂城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及鄂城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都網(wǎng)站設(shè)計、鄂城網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

1.引入相關(guān)的依賴

org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-integration org.springframework.integration spring-integration-mqtt

2.在application.yml配置MQTT服務(wù)器信息

server:   port: 9090 mqtt:   host: tcp://127.0.0.1:1883   clientinid: mqttinId   clientoutid: mqttoutid   topic: virus   qoslevel: 1   #MQTT 認證   username:  xxx   password: yyy   # 10s   timeout: 10000   #20s   keepalive: 20

3.配置MQTT消息推送配置

@Configuration @IntegrationComponentScan public class MqttSenderConfig {     @Value("${mqtt.username}")     private String username;     @Value("${mqtt.password}")     private String password;     @Value("${mqtt.host}")     private String hostUrl;     @Value("${mqtt.clientinid}")     private String clientId;     @Value("${mqtt.topic}")     private String defaultTopic;     @Value("${mqtt.timeout}")     private int completionTimeout;     @Bean     public MqttConnectOptions getMqttConnectOptions(){         MqttConnectOptions mqttConnectOptions=new MqttConnectOptions();         mqttConnectOptions.setCleanSession(true);         mqttConnectOptions.setConnectionTimeout(10);         mqttConnectOptions.setKeepAliveInterval(90);         mqttConnectOptions.setAutomaticReconnect(true);         mqttConnectOptions.setUserName(username);         mqttConnectOptions.setPassword(password.toCharArray());         mqttConnectOptions.setServerURIs(new String[]{hostUrl});         mqttConnectOptions.setKeepAliveInterval(2);         return mqttConnectOptions;     }     @Bean     public MqttPahoClientFactory mqttClientFactory() {         DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory();         factory.setConnectionOptions(getMqttConnectOptions());         return factory;     }     @Bean     @ServiceActivator(inputChannel = "mqttOutboundChannel")     public MessageHandler mqttOutbound() {         MqttPahoMessageHandler messageHandler =  new MqttPahoMessageHandler(clientId, mqttClientFactory());         messageHandler.setAsync(true);         messageHandler.setDefaultTopic(defaultTopic);         return messageHandler;     }     @Bean     public MessageChannel mqttOutboundChannel() {         return new DirectChannel();     } }

4.MQTT消息推送接口

@MessagingGateway(defaultRequestChannel = "mqttOutboundChannel") public interface MqttGateway {     void sendToMqtt(String data, @Header(MqttHeaders.TOPIC) String topic); }

5.MQTT消息推送API

@RestController public class MessageController {     @Autowired     MqttGateway mqttGateway;     @RequestMapping("/sendMqttMessage")     public String sendMqttMessage(String message, String topic) {         mqttGateway.sendToMqtt(message, topic);         return "ok";     } }

測試

接下來就可以在POSTMAN中進行測試了,輸入消息內(nèi)容和主題,就可以在相應(yīng)的頻道發(fā)送消息了。如果使用其它的消息客戶端進行測試的話,可以接受到消息

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前名稱:如何用代碼實現(xiàn)發(fā)送MQTT消息-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/pgihi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部