`
longgangbai
  • 浏览: 7330645 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MQTT的学习研究(十三) IBM MQTTV3 简单发布订阅实例

阅读更多

使用IBM MQTTv3实现相关的发布订阅功能

MQTTv3的发布消息的实现:

package com.etrip.mqttv3;

import com.ibm.micro.client.mqttv3.MqttClient;
import com.ibm.micro.client.mqttv3.MqttDeliveryToken;
import com.ibm.micro.client.mqttv3.MqttMessage;
import com.ibm.micro.client.mqttv3.MqttTopic;
/**
 * MQTTV3的发布消息类
 * 
 * @author longgangbai
 */
public class MQTTPub { 
	public static void doTest(){ 
		try { 
			MqttClient client = new MqttClient("tcp://192.168.208.46:1883","mqttserver-pub"); 
			MqttTopic topic = client.getTopic("tokudu/china"); 
			MqttMessage message = new MqttMessage("Hello World. Hello IBM".getBytes()); 
			message.setQos(1); 
			client.connect();
			while(true){
				MqttDeliveryToken token = topic.publish(message); 
				while (!token.isComplete()){ 
					token.waitForCompletion(1000); 
				} 
			}
		} catch (Exception e) { 
			e.printStackTrace(); 
		} 
	} 
} 




 MQTTV3的订阅消息类

package com.etrip.mqttv3;
import com.ibm.micro.client.mqttv3.MqttClient;
import com.ibm.micro.client.mqttv3.MqttConnectOptions;
/**
 * MQTTV3的订阅消息类
 * 
 * @author longgangbai
 */
public class MQTTSubsribe { 
	public static String doTest() { 
		try { 
			//创建MqttClient
			MqttClient client = new MqttClient("tcp://192.168.208.46:1883", "java_client0000000000"); 
			//回调处理类
			CallBack callback = new CallBack(); 
			client.setCallback(callback); 
			//创建连接可选项信息
			MqttConnectOptions conOptions = new MqttConnectOptions(); 
			//
			conOptions.setCleanSession(false); 
			//连接broker
			client.connect(conOptions); 
			//发布相关的订阅
			client.subscribe("tokudu/china", 1); 
			//client.disconnect(); 
		} catch (Exception e) { 
			e.printStackTrace(); 
			return "failed"; 
		} 
		return "success"; 
	} 
} 




 回调处理类处理订阅的消息类

 

package com.etrip.mqttv3;

import com.ibm.micro.client.mqttv3.MqttCallback;
import com.ibm.micro.client.mqttv3.MqttDeliveryToken;
import com.ibm.micro.client.mqttv3.MqttMessage;
import com.ibm.micro.client.mqttv3.MqttTopic;
/**
 * 回调处理类
 * 处理订阅的消息类
 * 
 * @author longgangbai
 */
public class CallBack implements MqttCallback { 
	
	public CallBack() { 
	} 
	/**
	 * 接收到信息的处理
	 */
	public void messageArrived(MqttTopic topic, MqttMessage message) { 
		try { 
			System.out.println(" MQTTSubsribe  message.toString()"+message.toString());
		} catch (Exception e) { 
			e.printStackTrace(); 
		} 
	} 
	public void connectionLost(Throwable cause) {
		
	} 
	public void deliveryComplete(MqttDeliveryToken token) {
		
	} 
} 

 

 

测试类:

package com.etrip.mqttv3;
/**
 * MQTTV3的测试类
 * 
 * @author longgangbai
 */
public class MQTTMain {
	public static void main(String[] args) {
		//订阅消息的方法
		MQTTSubsribe.doTest();
		//发布消息的类
		MQTTPub.doTest();
		
	}
}

 

 

分享到:
评论
4 楼 u012724947 2015-04-16  
我可以连接  为什么发消息就失败
3 楼 ghris 2012-11-26  
longgangbai 写道
ghris 写道
请问mqttv3这个包在哪里能下载,找不到好郁闷。。。
我邮箱是ghris001@163.com你有的话能发给我一份吗

我在文章中刚才添加相关的jar文件,请下载。

谢谢 提供下载
2 楼 longgangbai 2012-11-26  
ghris 写道
请问mqttv3这个包在哪里能下载,找不到好郁闷。。。
我邮箱是ghris001@163.com你有的话能发给我一份吗

我在文章中刚才添加相关的jar文件,请下载。
1 楼 ghris 2012-11-23  
请问mqttv3这个包在哪里能下载,找不到好郁闷。。。
我邮箱是ghris001@163.com你有的话能发给我一份吗

相关推荐

    java实现MQTT所需mqttv3包全版本

    - **发布与订阅**:`MqttClient` 提供了 `publish()` 方法用于发布消息,`subscribe()` 方法用于订阅主题。QoS 等级可以在这些操作中指定。 - **回调处理**:通过实现 `MqttCallback` 接口,可以处理连接状态变化...

    MQTTDemo(Java)

    **MQTT(Message Queuing Telemetry Transport)**是一种轻量级的发布/订阅式消息传输协议,主要用于远程位置连接受限的设备或者低带宽、高延迟的网络环境。MQTT设计的目标是为物联网(IoT)提供高效、可靠的数据...

    MQTT订阅端jar包

    这个“MQTT订阅端jar包”指的是一个用于实现MQTT协议订阅功能的Java库,具体是"org.eclipse.paho.client.mqttv3-1.2.5.jar",它由Eclipse Paho项目提供。Eclipse Paho是开源社区的一个项目,旨在为各种平台提供MQTT...

    Mqtt发布与订阅功能示例代码

    MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,常用于物联网(IoT)设备之间的通信。这个压缩包包含了两个Visual Studio 2010工程,`MqttPubTest`和`MqttSubTest`,分别用于实现MQTT...

    使用org.eclipse.paho.client.mqttv3实现mqtt 消息队列

    `org.eclipse.paho.client.mqttv3`是Eclipse Paho项目提供的一个开源Java库,用于实现MQTT协议客户端,它提供了简单易用的API来处理MQTT连接、发布、订阅和接收消息。 在使用`org.eclipse.paho.client.mqttv3`实现...

    mqtt-v5_MQTT-V5.0_mqtt_MQTT5.0协议文档_mqtt最新.zip

    MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,常用于物联网(IoT)设备之间的通信。MQTT V5.0是该协议的最新版本,相较于先前的版本,它增强了功能性和安全性,同时也保持了低功耗和...

    mqttv3 各个版本的jar

    `org.eclipse.paho.client.mqttv3` 是Paho项目为Java平台设计的MQTT客户端库的主模块,它的主要任务是允许应用程序连接到MQTT服务器(也称为broker),发布和订阅消息。每个jar文件代表了一个特定的版本,具体版本号...

    java调用MQTT,实现订阅/发布功能

    在IT行业中,MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息传输协议,常用于物联网(IoT)设备之间的通信。Java作为广泛应用的编程语言,有着丰富的库支持与MQTT服务器进行交互。在这个...

    mqtt服务器搭建及发布和订阅的测试

    ### MQTT服务器搭建及发布与订阅测试 #### 一、前言 MQTT(Message Queuing Telemetry Transport)是一种基于发布/订阅模式的轻量级消息协议,非常适合移动设备和低带宽、高延迟或不可靠的网络环境中使用。本文将...

    XE2实现MQTT主题发布及订阅,支持MQTT协议V5、汉字传输,亲测可用

    根据前人代码进行改造,主要是使用TTdMqtt类(IdTCPClient控件)实现了MQTT消息的发布和订阅。在之前的demo上,简单加了维持心跳和解决汉字传输乱码的问题(utf8编码)。之前有网页反应订阅超过90个字符显示不正常,...

    C#实现消息发布订阅即时通信Mqtt

    本文将详细讲解如何使用C#语言实现基于Mqtt协议的消息发布订阅功能,帮助开发者快速理解和应用这一技术。 Mqtt(Message Queuing Telemetry Transport),即消息队列遥测传输协议,是一种轻量级的发布/订阅消息协议...

    MQTT.js_example:MQTTv5 js客户端示例

    1. **示例代码**:可能包括多个示例文件,展示如何使用 MQTT.js 连接 MQTT 服务器、发布、订阅,以及利用 MQTTv5 新特性的示例。 2. **配置文件**:可能包含配置文件,用于设置连接参数,如服务器地址、端口、用户名...

    java实现mqtt的发送和订阅

    MQTT是一种轻量级的发布/订阅消息传输协议,广泛应用于物联网(IoT)设备间的数据通信。我们将使用Paho MQTT Java客户端库,它是由Eclipse Paho项目提供的,为多种语言提供了MQTT支持。 首先,我们需要引入Paho ...

    MQTT+springboot 订阅/发布 多主题

    在IT行业中,MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息协议,常用于物联网(IoT)应用中,因为它的低开销、小传输延迟以及高可靠性。Spring Boot是Java领域的一个热门微服务框架,...

    C#实现MQTT消息发布订阅,即时聊天通讯源码

    在IT行业中,MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息传输协议,常用于物联网(IoT)设备之间的通信,尤其是低带宽、高延迟或不可靠网络环境下。C#作为.NET框架的主要编程语言,...

    MQTT通信协议完整实例

    5. **实例应用**:实例可能包括创建一个简单的MQTT客户端,连接到MQTT服务器(也称为broker),发布一条消息到特定主题,然后订阅该主题以接收自己发布的消息。这有助于开发者理解MQTT的工作原理,并能快速上手实际...

    mqtt-简单实现 -动态增加订阅,取消订阅

    MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,常用于物联网(IoT)设备之间的通信。在本主题中,我们将深入探讨如何在MQTT中实现动态增加订阅和取消订阅功能。 MQTT协议的核心在于...

    mqtt发布订阅式消息队列

    3. 代理(Broker):是MQTT系统的核心,它负责接收发布者发送的消息,并根据订阅者的需求分发消息。代理维护了订阅者对主题的兴趣列表,确保正确地路由消息。 4. 主题(Topics):是消息的分类,类似于文件夹路径。...

    MQTT-V3.1.1和V5.0协议中文版

    MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传输协议,广泛应用于物联网(IoT)领域,尤其是资源有限的设备之间。它设计的目标是提供低带宽、低功耗、可靠且实时的数据通信。MQTT协议...

    mqtt发布和订阅示例代码

    mqtt发布和订阅,使用方法:1)开始mqtt服务端;2编译fake_user_publish和fake_user_sub;3运行两个可执行文件;效果:当fake_user_publish发布一个内容时,fake_user_sub订阅进程会收到相关的topic和payload。验证...

Global site tag (gtag.js) - Google Analytics