首页 MQTT (mosquitto)环境搭建

MQTT (mosquitto)环境搭建

举报
开通vip

MQTT (mosquitto)环境搭建MQTT (mosquitto)环境搭建 一、下载mosquitto 安装 二、启动mosquitto C:\Program Files (x86)\mosquitto>mosquitto.exe -c mosquitto.conf 三、模拟订阅客户端 org.fusesource.mqtt-client mqtt-client 1.0 package com.suning.ebuy.passbook; import java.net.URISyntaxException; impor...

MQTT (mosquitto)环境搭建
MQTT (mosquitto)环境搭建 一、下载mosquitto 安装 二、启动mosquitto C:\Program Files (x86)\mosquitto>mosquitto.exe -c mosquitto.conf 三、模拟订阅客户端 org.fusesource.mqtt-client mqtt-client 1.0 package com.suning.ebuy.passbook; import java.net.URISyntaxException; import org.fusesource.mqtt.client.BlockingConnection; import org.fusesource.mqtt.client.MQTT; import org.fusesource.mqtt.client.Message; import org.fusesource.mqtt.client.QoS; import org.fusesource.mqtt.client.Topic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * 使用Java 为MQ Telemetry Transport 创建订户在此任务中,您将遵循教程来创建订户应用程序。订户将针对主题创建预订并接收该预订的发布。提供了一个示例订户应用程序Subscribe。Subscribe * 将创建预订主题MQTT Examples,并等待获得该预订的发布,等待时间为30 秒。订户可以创建预订并等待获得发布。它还可以接收发送至先前为同一客户机标识创建的预订的发布。* * @author longgangbai */ public class WSMQTTClientSubscribe { private static final Logger LOG = LoggerFactory.getLogger(WSMQTTClientSubscribe.class); private final static String CONNECTION_STRING = "tcp://localhost:1883"; private final static boolean CLEAN_START = true; private final static short KEEP_ALIVE = 30;// 低耗网络,但是又需要及时获取数据,心跳30s private final static String CLIENT_ID = "publishService"; public static Topic[] topics1 = { new Topic("china/beijing", QoS.EXACTLY_ONCE), new Topic("china/tianjin", QoS.AT_LEAST_ONCE), new Topic("china/henan", QoS.AT_MOST_ONCE) }; public final static long RECONNECTION_ATTEMPT_MAX = 6; public final static long RECONNECTION_DELAY = 2000; public final static int SEND_BUFFER_SIZE = 2 * 1024 * 1024;// 发送最大缓冲为2M public static void main(String[] args) { // 创建MQTT对象 MQTT mqtt = new MQTT(); BlockingConnection connection = null; try { // 设置mqtt broker的ip和端口 mqtt.setHost(CONNECTION_STRING); // 连接前清空会话信息 mqtt.setCleanSession(CLEAN_START); // 设置重新连接的次数 mqtt.setReconnectAttemptsMax(RECONNECTION_ATTEMPT_MA X); // 设置重连的间隔时间 mqtt.setReconnectDelay(RECONNECTION_DELAY); // 设置心跳时间 mqtt.setKeepAlive(KEEP_ALIVE); // 设置缓冲的大小 mqtt.setSendBufferSize(SEND_BUFFER_SIZE); mqtt.setClientId("u2"); // 获取mqtt的连接对象BlockingConnection connection = mqtt.blockingConnection(); // MQTT连接的创建 connection.connect(); // 创建相关的MQTT 的主题列表 Topic[] topics = { new Topic("hello/world", QoS.AT_LEAST_ONCE) }; // 订阅相关的主题信息 byte[] qoses = connection.subscribe(topics); // while (true) { // 接收订阅的消息内容 Message message = connection.receive(); // 获取订阅的消息内容 byte[] payload = message.getPayload(); // process the message then: LOG.info("MQTTClient Message Topic=" + message.getTopic() + " Content :" + new String(payload)); // 签收消息的回执 message.ack(); Thread.sleep(2000); } } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { connection.disconnect(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } 四、发布消息 C:\Program Files (x86)\mosquitto>mosquitto_pub -t hello/world -m dfdfdfdfe2 -i u2 注:发布时可指定订阅者(-i),如不指定,则群发。
本文档为【MQTT (mosquitto)环境搭建】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_591137
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:6
分类:互联网
上传时间:2019-06-16
浏览量:31