Eclipse paho学习笔记

摘要:
EclipsePahojava支持java和android两个客户端异步和同步,MqttAsyncClient,MqttClient其中后者是前者的包装同步器,特效除了5.0都支持有两个版本可以相互替换org.eclipse.pahoorg.eclipse.paho.client.mqttv3˂/artifact
Eclipse Paho
java 支持java和android
两个客户端异步和同步, MqttAsyncClient,MqttClient
其中 后者是前者的包装同步器,特效除了5.0都支持
有两个版本可以相互替换


    <dependency>
        <groupId>org.eclipse.paho</groupId>
        <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
        <version>%VERSION%</version>
    </dependency>
 

下面是简单同步的例子:
import org.eclipse.paho.client.mqttv3.MqttClient;
        import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
        import org.eclipse.paho.client.mqttv3.MqttException;
        import org.eclipse.paho.client.mqttv3.MqttMessage;
        import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

        public classMqttPublishSample {

        public static voidmain(String[] args) {

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

            try{
                MqttClient sampleClient = newMqttClient(broker, clientId, persistence);
                MqttConnectOptions connOpts = newMqttConnectOptions();
                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 = newMqttMessage(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();
            }
        }
    }
    
    下面是异步处理三个例子
    
    https://github.com/eclipse/paho.mqtt.java/tree/master/org.eclipse.paho.sample.mqttv3app/src/main/java/org/eclipse/paho/sample/mqttv3app

    最新的java的同步例子有四个类
    
    https://github.com/eclipse/paho.mqtt.java/tree/master/org.eclipse.paho.sample.mqttclient/src/main/java/org/eclipse/paho/sample/mqttclient/mqttv3
发布订阅 连接执行
    执行了4种发布的数据,有文件和消息
    

免责声明:文章转载自《Eclipse paho学习笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VS2010主题设置及插件推荐C语言获取系统错误下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WordPress插件制作教程(三): 添加菜单的方法

上一篇编写了一个简单的插件,让大家对插件的简单制作有个了解,这一篇我们在更深一步,当我们激活插件后后台会显示菜单出来,然后通过单击菜单显示自己定义好的信息。激活之后会在WordPress后台显示一个菜单,下面会有多个子菜单,如下图: 1. 在WordPress后台添加一个同级主菜单,在主菜单下添加子菜单 // add_menu_page( $page_t...

Stream的流处理--主要用于的是条件的筛选

用优雅的方式写出ArrayList 中的值得条件筛选 主要用到的java8中lambda的表达式 1 public class BaseDemo { 2 public static void main(String[] args) { 3 // 用Stream的方式来筛选list中的值 4 ArrayList...

C# PropertyGrid控件应用心得

最近项目中做一模块时偶发奇想,希望使用propertygrid的控件实现类似visual studio的属性样式,于是拿来一用,发现还真不是自己想象的那么简单,如果要实现一个比较好的展示,还真的需要不少技巧,通过自己的实践和网络的力量,“逢山开道,遇水搭桥”,总算是摸出一些门道,不敢私藏,拿出来与大家分享,呵呵。 先来转一个基础的,源自msdn http:...

JAVA实现AD验证

package service;import java.util.Hashtable; import javax.naming.Context; import javax.naming.NamingException; import javax.naming.directory.DirContext; import javax.naming.directo...

C#基础精华07(委托事件,委托的使用,匿名方法)

1.委托概述 委托是一种数据类型,像类一样(可以声明委托类型变量)。方法参数可以是int、string、类类型 void M1(int n){  } √ void M2(string s){  } √ void M3(Person p){  } √ 委托就是一种数据类型,用来存放方法的数据类型。 那么委托到底把方法存到哪里了?其实委托还是一个类。把方法包装...

Java导出成可运行Jar包 dll或者so加载失败的解决方案

正常情况下, xxx.class.getResourceAsStream(lib) 这样就可以获取到了。但是我的是在JFrame的初始化中的, 所以需要Thread.currentThread().getContextClassLoader().getResourceAsStream(lib); 这样来获取。   这个坑  找了蛮久才找到解决方案记录下。...