FuseSource MQTT的实现发送和接收消(java 实现)

本文介绍了MQTT协议的基本概念,强调了其在物联网和小型设备中的广泛应用。接着,通过引入相关jar包,展示了如何使用Java进行MQTT消息的发送和接收,详细讲解了代码实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.MQTT是什么?
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

2.代码实现
先引入jar包

        <dependency>
            <groupId>org.eclipse.paho</groupId>
            <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
            <version>1.2.0</version>
        </dependency>
        <!-- 引入另一种mqtt的client -->
        <dependency>
            <groupId>org.fusesource.mqtt-client</groupId>
            <artifactId>mqtt-client</artifactId>
            <version>1.14</version>
        </dependency>

本例子使用第二个依赖实现的

/**
 * @Auther: 18030501
 * @Date: 2018/10/25 17:15
 * @Description: 发布端/接收端
 */
@Slf4j
public class PublishAndSubscribeClient {

    // mqtt服务
    public static String HOST = "tcp://host:port";
    // 客户端id
    public static String CLIENT_ID = "test_clientId";
    // 用户名
    public static String USERNAME = "whale";
    // 密码
    public static String PASSWORD = "123456";
    // 客户端与服务端消息传递的最大间隔。它能够使服务器检测到客户端的网络是否已经丢失,而无需等待TCP/IP超时
    public static short KEEP_ALIVE = 20;

    public static void main(String[] args) throws Exception {
        // 配置MQTT连接
        MQTT mqtt = new MQTT();
        mqtt.setHost(HOST);
        mqtt.setClientId(CLIENT_ID);
        mqtt.setUserName(USERNAME);
        mqtt.setPassword(PASSWORD);
        // 是否清除session,false:MQTT服务器保存于客户端会话的的主题与确认位置,true:MQTT服务器不保存于客户端
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值