`
weihong01267
  • 浏览: 51659 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java io 手写mqtt客户端connect,heartbeat

 
阅读更多
package test;
//mqtt协议参考http://www.blogjava.net/yongboy/archive/2014/02/09/409630.html
import java.io.*;
import java.net.Socket;

public class Client {
    public static final String IP_ADDR = "localhost";//服务器地址
public static final int PORT = 8088;//服务器端口号

public static void main(String[] args) {
        System.out.println("客户端启动...");
        Socket socket = null;
        try {
            //创建一个流套接字并将其连接到指定主机上的指定端口号
socket = new Socket(IP_ADDR, PORT);

            //读取服务器端数据
DataInputStream input = new DataInputStream(socket.getInputStream());
            //向服务器端发送数据
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
            out.writeByte(0b00010000);//16
out.writeByte(31);//29
out.writeUTF("MQIsdp");
            out.writeByte(4);
            out.writeByte(0);
            out.writeByte(0); //keepalive 1
out.writeByte(10);//keepalive2
            //out.writeByte(17);

out.writeUTF("35-4F-36-25-3E-51");
            out.flush();
            for (int i = 0; i < 10; i++) { // send heartbeat 10 times
out.writeByte(0b11000000);
                out.writeByte(0);
                out.flush();

            }

            int loop = 0;
            do {
                byte ret = input.readByte();
                int rr = ((int) ret);
                String hex = Integer.toHexString(rr);
                System.out.println("服务器端返回过来的是: " + hex);
                loop++;
            } while (true);

        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("客户端异常:" + e.getMessage());
        } finally {
            if (socket != null) {
                try {
                    socket.close();
                } catch (IOException e) {
                    System.out.println("客户端 finally 异常:" + e.getMessage());
                }
            }
        }

    }

}
分享到:
评论

相关推荐

    JAVA MQTT客户端模拟代码

    最近在搞IOT方面的东西,接触到MQTT协议,由于需要模拟多个MQTT客户端进行消息订阅及消息推送功能,而现有的工具和网上的代码都满足不了现有需求,例如MQTT.fx只能模拟单个设备订阅或者消息推送、MQTT broker提供的...

    基于netty实现的mqtt客户端,可用于Java、Android环境.zip

    《基于Netty实现的MQTT客户端在Java与Android环境中的应用》 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息协议,广泛应用于物联网(IoT)领域,尤其是资源受限的设备之间。在本文中...

    MQTT客户端C#版

    **MQTT客户端C#版**是一种使用C#编程语言实现的MQTT协议客户端应用程序,它为开发者提供了一种简单易用的方式与MQTT服务器进行通信。MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息传输...

    MQTT客户端-v2.4(协议3.1.1).exe

    (20210601更新)使用采用QT开发的MQTT客户端,协议使用MQTT3.1.1版本。已经测试可以登录OneNet、阿里云、腾讯物联网平台。 完成主题订阅、发布等。 如果需要源代码请查看博客: ...

    mqtt客户端java实现_mqtt

    本教程将详细讲解如何使用Java语言实现一个简单的MQTT客户端,并通过Maven构建项目。 首先,我们需要了解MQTT协议的基本概念。MQTT协议基于发布/订阅模型,其中客户端可以作为发布者或订阅者。发布者发送消息到特定...

    MQTT、MQTT客户端、MQTT客户端调试软件、MQTT客户端测试工具 MQTT调试工具

    对于MQTT客户端,它是连接到MQTT服务器(也称为broker)并执行发布或订阅操作的应用程序。客户端通常需要提供以下功能: - **连接与断开**:客户端需要能够连接到broker,并在必要时断开连接。 - **发布消息**:...

    基于Netty实现的MQTT客户端_netty-mqtt-client.zip

    基于Netty实现的MQTT客户端_netty-mqtt-client

    基于Linux C语言编写的MQTT客户端和WebSocket客户端(物联网数据发布和订阅)

    说明:工程分为两个。一个是Linux C语言编写的MQTT客户端,另一个是websocket编写的MQTT客户端,先运行Linux的,再运行websocket就出实验现象了。(发布的主要是温湿度数据、继电器控制状态、GPS定位系统等等)

    mqtt开发C语言基于paho实现MQTT客户端实战案例

    在本文中,我们将深入探讨如何使用C语言和Paho MQTT库来开发一个MQTT客户端。MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,广泛应用于物联网(IoT)设备之间的通信。Paho是Eclipse...

    mqtt客户端工具

    Paho 是由 Eclipse 开源组织开发的一组 MQTT 客户端库和工具,旨在支持多种编程语言,包括 Java、Python、C、C++ 等。Paho MQTT 客户端库提供了一套简单易用的 API,使得开发者能够方便地在应用程序中集成 MQTT 功能...

    MQTT客户端的C#实现

    下面将详细探讨MQTT客户端的C#实现及其应用。 首先,理解MQTT的基本概念至关重要。MQTT协议定义了三种角色:发布者(Publisher)、代理(Broker)和订阅者(Subscriber)。发布者负责发送消息,订阅者接收消息,而...

    MQTT 客户端

    MQTT客户端是这个协议中的关键组成部分,它们负责连接到MQTT服务器(也称为代理),并进行数据的发送与接收。下面我们将详细探讨MQTT客户端及其相关知识点。 一、MQTT协议基础 1. MQTT协议的特点: - 低开销:设计...

    基于Java的netty-mqtt MQTT 3.1.1协议服务端与客户端设计源码

    netty-mqtt是一个基于Java开发的MQTT 3.1.1协议服务端与客户端,包含113个文件,其中包括87个Java源文件、8个XML文件、7个Iml文件、3个YAML文件、3个JKS文件、2个Factories文件、1个LICENSE文件和1个Markdown文件。...

    mqtt java客户端开发所使用的jar包

    通过以上介绍,我们了解了如何使用Eclipse Paho MQTT Java客户端进行开发。这个库提供了一套全面的API,让开发者能够在Java应用中轻松地实现MQTT通信,满足物联网场景下低延迟、高效能的需求。在实际项目中,还需要...

    MQTT客户端C语言代码(Paho库及二次封装)

    例如,`MQTTClient_connect()`函数用于建立到MQTT服务器的连接,`MQTTClient_publish()`用于发布消息,`MQTTClient_subscribe()`用于订阅主题,而`MQTTClient_receive()`则用于接收消息。 在对Paho库进行二次封装时...

    基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析

    基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析 基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析 基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析 基于python+pyqt+paho.mqtt 的...

    MQTT客户端(MQTT.fx)1.7.1

    MQTT.fx是基于此协议的一款开源MQTT客户端工具,用于测试和调试MQTT服务器,即MQTT Broker。版本1.7.1提供了稳定且用户友好的界面,让开发者和测试人员能够方便地观察和交互与MQTT服务。 在MQTT.fx 1.7.1中,主要...

    基于paho.mqtt.c编写的mqtt客户端

    这个基于 Paho MQTT.C 的客户端接口提供了写日志的机制,可以帮助开发者记录客户端的操作细节,如连接状态、发送和接收的消息等,以便于分析程序运行情况和定位潜在问题。 **调用示例** 提供的调用示例通常会展示...

    c#版MQTT客户端

    C#版MQTT客户端是针对MQTT协议开发的软件组件,允许C#应用程序进行MQTT通信,实现设备间的数据传输、状态更新或远程控制等功能。 在这个“c#版MQTT客户端”项目中,主要包括了两个核心功能:订阅topic和发布消息。 ...

    MQTT客户端中动态库

    这个仅仅是mqtt动态库的代码;vc调用平台 请搜索我之前上传的 ”MQTT客户端”;我之前上传“MQTT客户端”中调用paho-mqtt3a.dll这个动态库的代码;之前上传MQTT客户端动态库代码没有上传;补上传

Global site tag (gtag.js) - Google Analytics