- 浏览: 7338815 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
MQTT的学习研究(四)moquette-mqtt 的使用之mqtt Blocking API客户端订阅并接收主题信息
在上面两篇关于mqtt的broker的启动和mqtt的服务端发布主题信息之后,我们客户端需要订阅相关的信息并接收相关的主题信息。
package com.etrip.mqtt; import java.net.URISyntaxException; import org.fusesource.mqtt.client.BlockingConnection; import org.fusesource.mqtt.client.MQTT; import org.fusesource.mqtt.client.Message; import org.fusesource.mqtt.client.QoS; import org.fusesource.mqtt.client.Topic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * MQTT moquette 的Client 段用于订阅主题,并接收主题信息 * * 采用阻塞式 订阅主题 * * @author longgangbai */ public class MQTTClient { private static final Logger LOG = LoggerFactory.getLogger(MQTTClient.class); private final static String CONNECTION_STRING = "tcp://192.168.208.46:1883"; private final static boolean CLEAN_START = true; private final static short KEEP_ALIVE = 30;// 低耗网络,但是又需要及时获取数据,心跳30s private final static String CLIENT_ID = "publishService"; public static Topic[] topics = { new Topic("china/beijing", QoS.EXACTLY_ONCE), new Topic("china/tianjin", QoS.AT_LEAST_ONCE), new Topic("china/henan", QoS.AT_MOST_ONCE)}; public final static long RECONNECTION_ATTEMPT_MAX=6; public final static long RECONNECTION_DELAY=2000; public final static int SEND_BUFFER_SIZE=2*1024*1024;//发送最大缓冲为2M public static void main(String[] args) { //创建MQTT对象 MQTT mqtt = new MQTT(); BlockingConnection connection=null; try { //设置mqtt broker的ip和端口 mqtt.setHost(CONNECTION_STRING); //连接前清空会话信息 mqtt.setCleanSession(CLEAN_START); //设置重新连接的次数 mqtt.setReconnectAttemptsMax(RECONNECTION_ATTEMPT_MAX); //设置重连的间隔时间 mqtt.setReconnectDelay(RECONNECTION_DELAY); //设置心跳时间 mqtt.setKeepAlive(KEEP_ALIVE); //设置缓冲的大小 mqtt.setSendBufferSize(SEND_BUFFER_SIZE); //获取mqtt的连接对象BlockingConnection connection = mqtt.blockingConnection(); //MQTT连接的创建 connection.connect(); //创建相关的MQTT 的主题列表 Topic[] topics = {new Topic("china/beijing", QoS.AT_LEAST_ONCE)}; //订阅相关的主题信息 byte[] qoses = connection.subscribe(topics); // while(true){ //接收订阅的消息内容 Message message = connection.receive(); //获取订阅的消息内容 byte[] payload = message.getPayload(); // process the message then: LOG.info("MQTTClient Message Topic="+message.getTopic()+" Content :"+new String(payload)); //签收消息的回执 message.ack(); Thread.sleep(2000); } } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { connection.disconnect(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
发表评论
-
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3355TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51587文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14198最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8694TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2714TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2810TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2454TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2784TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2702TestNG官方网站: http://testng.or ... -
TestNG简单的学习(四)测试方法通过名称名称依赖实现
2013-12-02 09:21 2082TestNG官方网站: http://testng.or ... -
TestNG简单的学习(三)测试方法通过测试分组依赖实现
2013-12-02 09:21 2830TestNG官方网站: http://testng.or ... -
TestNG简单的学习(二)参数化测试并发且多方法测试方法判定
2013-11-29 15:35 3702TestNG官方网站: http://testng.or ... -
TestNG简单的学习(一)类和方法级别@Test的区别
2013-11-29 15:31 9425TestNG官方文档的地址: http://testng ... -
Feed4Junit的简单使用(七)Feed4TestNg
2013-11-29 13:35 6133在Feed4Junit主要针对junit实现的 ... -
Feed4Junit的简单使用(六)数据来特定格式文件
2013-11-29 12:29 2767Feed4Junit官方地址: http://da ... -
Feed4Junit的简单使用(五)数据来自动态约束数据
2013-11-29 12:29 2631Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(四)数据来自定义数据源
2013-11-28 14:09 3103Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(三)数据源来自数据库
2013-11-28 13:58 3170Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(二)数据源来自文件
2013-11-28 13:50 4571Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(一)
2013-11-28 13:47 2215Feed4Junit官方地址: http://databe ...
相关推荐
1. **发布/订阅模式**:与传统的客户端-服务器模式不同,MQTT采用发布者-订阅者模型,发布者发送消息,订阅者接收符合其订阅主题的消息。 2. **主题(Topic)**:消息的路由标识,类似于邮件的邮箱地址,多个订阅者...
【调试工具|mqtt-spy】mqtt客户端调试工具 mqtt-spy 详细使用教程
客户端是发送或接收消息的实体,服务器作为中介,负责转发消息给订阅了特定主题的客户端。主题类似于邮件的地址,它允许消息有针对性地分发到多个目的地。 JMeter是Apache软件基金会开发的一款强大的性能测试工具...
本压缩包“mqtt-xmeter-syl-jar-with-dependencies.rar”包含了一个名为“mqtt-xmeter-syl-jar-with-dependencies”的文件,这很可能是一个Java应用,用于测试和分析MQTT协议的性能。 首先,我们来深入了解MQTT协议...
3. **发布/订阅模式**:MQTT的核心特性,允许客户端发布消息到一个主题,其他订阅该主题的客户端会收到这些消息。 4. **QoS(Quality of Service)服务质量**:MQTT定义了三种QoS级别(0、1、2),确保消息至少被...
"完美使用"的描述意味着该版本在兼容性和稳定性上已经达到了较高的水平,用户可以顺利地进行MQTT消息的发布和订阅操作。 在mqtt.fx中,你可以连接到任何支持MQTT协议的服务器,通常称为MQTT Broker。它提供了丰富的...
对应Maven信息:groupId:org.fusesource.mqtt-client,artifactId:mqtt-client,version:1.3 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...
安装文件“mqtt.fx-1.0.0-64bit.exe”是Windows平台下的可执行程序,用户只需双击即可完成安装并开始使用MQTT客户端工具。 总之,MQTT.fx是物联网开发者的得力助手,它利用Eclipse Paho的强大功能,提供了一个直观...
对应Maven信息:groupId:org.fusesource.mqtt-client,artifactId:mqtt-client,version:1.3 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...
基于Netty实现的MQTT客户端_netty-mqtt-client
C#作为.NET框架的主要编程语言,提供了丰富的库来实现MQTT客户端功能,其中包括订阅主题并接收消息的能力。 在这个项目"MQTT客户端订阅主题接收消息接口.rar"中,开发者使用Visual Studio 2013这一开发环境,用C#...
Paho是IBM和Oracle共同发起的一个开源项目,提供了多种编程语言的客户端库,包括本文将要讨论的“paho.mqtt.embedded-c”,这是一个针对嵌入式系统的MQTT客户端实现。 标题中的“paho.mqtt.embedded-c-master.zip”...
jmeter-mqtt插件应用于Jmeter对mqtt服务器压力测试
MQTT (Message Queue Telemetry Transport),翻译成中文就是,遥测传输协议,其主要提供了订阅/发布两种消息模式,更为简约、轻量,易于使用,特别适合于受限环境(带宽低、网络延迟高、网络通信不稳定)的消息分发...
MQTT中文文档,帮助理解MQTT具体协议,用于创建服务器或者客户端
包含翻译后的API文档:netty-codec-mqtt-4.1.74.Final-javadoc-API文档-中文(简体)版.zip; Maven坐标:io.netty:netty-codec-mqtt:4.1.74.Final; 标签:netty、codec、mqtt、中文文档、jar包、java; 使用方法:...
协议中的消息传递模式是基于主题(Topic)的,即客户端可以发布消息到某个主题,也可以订阅特定主题以接收消息。 在MQTT协议中,有几种控制消息类型,它们分别是: 1. CONNECT:客户端用来请求连接到Broker的控制...
通过研究Moquette MQTT的源码,开发者可以深入理解MQTT协议的工作原理,并且能够自定义或扩展Moquette以适应特定的物联网应用需求。此外,这对于学习网络编程、事件驱动编程以及分布式系统的设计都有很大帮助。
包含翻译后的API文档:netty-codec-mqtt-4.1.73.Final-javadoc-API文档-中文(简体)版.zip; Maven坐标:io.netty:netty-codec-mqtt:4.1.73.Final; 标签:codec、mqtt、netty、jar包、java、中文文档; 使用方法:...