资讯专栏INFORMATION COLUMN

MQTT 实战

tyheist / 3358人阅读

摘要:协议版本版本介绍是一个用编写的客户端库用于开发在或其他兼容平台如上运行的应用程序提供了两个提供完全异步的通过注册的回调完成是的同步包装器例子这个就是官网提供的例子可以直接连上代理做测试的相关类介绍此类主要用于连接代理发布消息订阅消息断开连接

mqtt 协议版本: 3.1.1
eclipse paho client 版本: 1.2.0
eclipse paho client 介绍

Paho Java Client 是一个用Java编写的MQTT客户端库, 用于开发在JVM或其他Java兼容平台(如Android)上运行的应用程序.

Paho Java Client提供了两个API: MqttAsyncClient 提供完全异步的API, 通过注册的回调完成. MqttClient 是 MqttAsyncClient 的同步包装器.

例子
        String topic        = "MQTT Examples";
        String content      = "Message from MqttPublishSample";
        int qos             = 2;
        String broker       = "tcp://iot.eclipse.org:1883";
        String clientId     = "JavaSample";
        MemoryPersistence persistence = new MemoryPersistence();

        try {
            MqttClient sampleClient = new MqttClient(broker, clientId, persistence);
            MqttConnectOptions connOpts = new MqttConnectOptions();
            connOpts.setCleanSession(true);
            System.out.println("Connecting to broker: "+broker);
            sampleClient.connect(connOpts);
            System.out.println("Connected");
            System.out.println("Publishing message: "+content);
            MqttMessage message = new MqttMessage(content.getBytes());
            message.setQos(qos);
            sampleClient.publish(topic, message);
            System.out.println("Message published");
            sampleClient.disconnect();
            System.out.println("Disconnected");
            System.exit(0);
        } catch(MqttException me) {
            System.out.println("reason "+me.getReasonCode());
            System.out.println("msg "+me.getMessage());
            System.out.println("loc "+me.getLocalizedMessage());
            System.out.println("cause "+me.getCause());
            System.out.println("excep "+me);
            me.printStackTrace();
        }

这个就是官网提供的例子, 可以直接连上代理做测试的.

相关类介绍 MqttClient

此类主要用于连接代理、发布消息、订阅消息、断开连接.

public void publish(String topic, byte[] payload,int qos, boolean retained) throws MqttException, MqttPersistenceException {}
public void publish(String topic, MqttMessage message) throws MqttException, MqttPersistenceException {}

public void subscribe(String topicFilter) throws MqttException {}
public void subscribe(String[] topicFilters) throws MqttException {}
public void subscribe(String topicFilter, int qos) throws MqttException {}
public void subscribe(String[] topicFilters, int[] qos) throws MqttException {}
public void subscribe(String topicFilter, IMqttMessageListener messageListener) throws MqttException {}
public void subscribe(String[] topicFilters, IMqttMessageListener[] messageListeners) throws MqttException {}
public void subscribe(String topicFilter, int qos, IMqttMessageListener messageListener) throws MqttException {}
public void subscribe(String[] topicFilters, int[] qos, IMqttMessageListener[] messageListeners) throws MqttException {}

public void connect() throws MqttSecurityException, MqttException {}
public void connect(MqttConnectOptions options) throws MqttSecurityException, MqttException {}

public void disconnect() throws MqttException {}
public void disconnect(long quiesceTimeout) throws MqttException {}
MqttConnectOptions

此类保存了客户端连接到代理时的一些参数.

public void setUserName(String userName) {}

public void setPassword(char[] password) {}

public void setConnectionTimeout(int connectionTimeout) {}
MqttMessage

要发送的消息正文, 指定消息内容、Qos、Retained.

public void setQos(int qos) {}
public void setPayload(byte[] payload) {}
public void setRetained(boolean retained) {}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72329.html

相关文章

  • 【如何构建商业级别聊天系统】 MQTT 篇(四)MQTT 特性之 持久会话、保留消息、遗嘱

    摘要:如何构建商业级别聊天系统篇四特性之持久会话保留消息遗嘱本篇将介绍的一些我们应该关注的特性关注不迷路我是搁浅神秘地址持久会话为什么需要持久会话为了接收的消息,客户端在连接时会创建其感兴趣主题的订阅。代理仅存储每个主题的一条保留消息。 ...

    LancerComet 评论0 收藏0
  • 译书《物联网实战指南》出版 | 新成就:翻译自己的英文简介

    摘要:英文书名,中文书名物联网实战指南。物联网实战指南与自己动手设计物联网这里面又有好多的故事,不过正是因为一书让我有了写书的想法不过,最开始的时候是电子书。我们将在未来的两周末,赠送出几本的物联网实战指南和自己动手设计物联网,详情见 这本书有一个很长的故事,到今天算是走到了一个意想中的结局。从审阅这本书开始、英文版出版、翻译成中文就这样走了两年的时间,这是一本值得纪念的书籍。 英文书名《L...

    Shimmer 评论0 收藏0
  • ESP32学习笔记(46)——MQTT客户端

    摘要:一简介实现方式实现协议需要客户端和服务器端通讯完成,在通讯过程中,协议中有三种身份发布者代理服务器订阅者。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。 ...

    Jenny_Tong 评论0 收藏0
  • MQTT如何快速助你产品化

    摘要:时间就是金钱,效率就是生命本教程助力开发者使用协议快速产品化。摘要借助具备及联网功能的,快速部署到客户产品上,助力开发,缩短开发周期,快速实现产品商业化。 时间就是金钱,效率就是生命 本教程助力开发者使用MQTT协议快速产品化。 摘要 借助具备MQTT及联网功能的DTU,快速部署到客户产品...

    sutaking 评论0 收藏0

发表评论

0条评论

tyheist

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<