zoukankan      html  css  js  c++  java
  • mqtt压力测试工具emqtt

    转自:https://blog.csdn.net/vicky_lov/article/details/84585252

    1.emqtt下载地址:http://emqtt.com/downloads,找到自己要下载的版本信息,注意开发版、稳定版;

    2.下载后放到硬盘根目录,进入下载路径目录,cmd进入dos窗口,如下图:

    3.输入.inemqttd consloe,之后弹出启动状态页面,代表启动成功;

    4.登录:地址 :http://localhost:18083/ 

                  用户名为:admin   密码为:public

    登录上去就可以看服务器的运行状态了。

    测试
    依赖 

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

    Server

    package com.mymqtt.myemqtt;
     
    import java.util.Scanner;
     
    import org.eclipse.paho.client.mqttv3.MqttClient;
    import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
    import org.eclipse.paho.client.mqttv3.MqttMessage;
     
    public class Server {
     
        public static void main(String[] args) throws Exception {
            String host = "tcp://127.0.0.1:1883";
            String topic = "hello";
            String clientId = "server";// clientId不能重复
            MqttConnectOptions options = new MqttConnectOptions();
            options.setCleanSession(true);
     
            MqttClient client = new MqttClient(host, clientId);
            client.connect(options);
     
            MqttMessage message = new MqttMessage();
     
            @SuppressWarnings("resource")
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入要发送的内容:");
            while (true) {
                String line = scanner.nextLine();
                message.setPayload(line.getBytes());
                client.publish(topic, message);
            }
     
        }
    }

    Client

    package com.mymqtt.myemqtt;
     
    import org.eclipse.paho.client.mqttv3.MqttClient;
    import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
     
    public class Client {
     
        public static void main(String[] args) throws Exception {
     
            String host = "tcp://127.0.0.1:1883";
            String topic = "hello";
            String clientId = "12345";// clientId不能重复
            // 1.设置mqtt连接属性
            MqttConnectOptions options = new MqttConnectOptions();
            options.setCleanSession(true);
            // 2.实例化mqtt客户端
            MqttClient client = new MqttClient(host, clientId);
            // 3.连接
            client.connect(options);
     
            client.setCallback(new PushCallback());
            while (true) {
                client.subscribe(topic, 2);
            }
            // client.disconnect();
        }
    }

    PushCallback

    package com.mymqtt.myemqtt;
     
    import java.util.Date;
     
    import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
    import org.eclipse.paho.client.mqttv3.MqttCallback;
    import org.eclipse.paho.client.mqttv3.MqttMessage;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
     
    public class PushCallback implements MqttCallback {
        private final Logger logger = LoggerFactory.getLogger(this.getClass());
     
        public void connectionLost(Throwable cause) {
            // 连接丢失后,一般在这里面进行重连
            System.out.println("连接断开,可以做重连");
            logger.info("掉线时间:{}", new Date());
        }
     
        public void deliveryComplete(IMqttDeliveryToken token) {
            System.out.println("deliveryComplete---------" + token.isComplete());
        }
     
        public void messageArrived(String topic, MqttMessage message) throws Exception {
            // subscribe后得到的消息会执行到这里面
            // System.out.println(message);
            System.out.println("接收消息主题 : " + topic);
            System.out.println("接收消息Qos : " + message.getQos());
            System.out.println("接收消息内容 : " + new String(message.getPayload()));
        }
     
    }

    结果:

    控制台显示

    两个连接

    è¿éåå¾çæè¿°

    参考资料:http://emqtt.com/

  • 相关阅读:
    Leetcode Unique Binary Search Trees
    Leetcode Decode Ways
    Leetcode Range Sum Query 2D
    Leetcode Range Sum Query
    Leetcode Swap Nodes in Pairs
    Leetcode Rotate Image
    Leetcode Game of Life
    Leetcode Set Matrix Zeroes
    Leetcode Linked List Cycle II
    CF1321A
  • 原文地址:https://www.cnblogs.com/mycftest/p/13889281.html
Copyright © 2011-2022 走看看