说实话这个折腾了我好久好久,我才知道,原来学习不是最痛苦的,学习却学不会才是最痛苦的事。生产者将消息发布到一个主题,消费者从该协议里读取数据,MQTT是为IoT物联网通信设计的协议,MQTT使物联网低延迟、更省电,支持3种消息发布服务质量~

知乎视频​www.zhihu.com

  • 最多一次
  • 最少一次
  • 只有一次

比较出名的MQTT有ActiveMQ(apollo)、IBM Websphere MQ、RabbitMQ、Mosquitto,我实验中用的是apollo和Mosquitto,本篇文章是一个吐槽大会,因为我有太多苦水要倒掉,昨晚搞到12点半,早上7点醒了又继续搞到8点,才依依不舍的去上班~

晚上下班,我想说放弃了,放弃了,这个实验放弃了,我欠兄弟们一个实验成功截图,又折腾了好一会,瞅了一眼,什么?客户端竟然有打印数据?成功了。兄弟们,只要努力,它就一定能成功啊~

  • 首先是apollo的cmd中的启动信息
  • 登录web页面
  • 默认用户名:admin
  • 默认密码:password

看上去一切很美好的样子,但是发现代码跑不起来,报错信息如下,百度找不到答案,只有自己不停的去尝试新的方法~

  • 之后,我又尝试了Mosquitto
  • 好不容易让他能连接服务器了
  • 结果又断开了连接(32101错误码)
  • 人生苦短,python当歌~
  • 人生苦短,python当歌~
  • 人生苦短,python当歌~

古话说的好,无心插柳柳成荫,客户端成功打印出来过一次,我真的不知道是咋回事,因为服务端老是报错,所以客户端就别想消费了,真的是上天眷顾苦心人啊~

代码计算的是每天共享单车的行程的年度分布情况,先看一下数据长啥样子:

      .map(rec => rec.split(",")).map(rec => (rec(1).split(" ")(0), 1)).updateStateByKey(statefulCount).map(pair => (pair._2, pair._1)).transform(rec => rec.sortByKey(ascending = false))

为什么出现这样的结果,代码分析如下:

  • [map(rec => (rec(1).split(" ")(0), 1))]
  • 第二列是开始时间,获得:(年月日,1)
  • [updateStateByKey(statefulCount)]
  • 对相同的年月日,累加后面的1
  • [map(pair => (pair._2, pair._1))]
  • 调换一个key和value,得到上图,撒花~

我的踩坑服务端代码:(Java代码)

import 

我的踩坑客户端代码:(scala代码)

import 

本篇完,谢谢大家~

java mqtt客户端_MQTT消息队列遥测传输相关推荐

  1. 消息队列遥测传输(MQTT)介绍

    消息队列遥测传输(MQTT)是一种ISO标准消息传递协议,旨在通过不可靠的网络连接传感器.它在TCP/IP互联网协议之上工作. 两位工程师Andy Stanford-Clark和Arlen Nippe ...

  2. MQTT - 消息队列遥测传输协议

    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级" ...

  3. 互联网协议 — MQTT 消息队列遥测传输协议

    目录 文章目录 目录 MQTT MQTT 的设计原则 MQTT 的实现原理 MQTT 的关键术语 MQTT 的方法 MQTT 报文结构 Linux MQTT Server Android MQTT C ...

  4. MQTT——具有.NET Core的消息队列遥测传输协议

    目录 介绍 什么是MQTT REST是什么? 体系结构 有效载荷 安全 代码样例 代理 发布者 订阅者 执行 概要 Git存储库链接 参考文献 介绍 发布/订阅模式是解耦软件的常见要求.有各种可用的技 ...

  5. MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议

    简介 mqtt有IBM公司开发,90年代的产物. 解决了如下问题:服务器必须要实现成千上万的接入:单词数据量小,不能出错:必须能够使用高延迟.偶尔断网等通信不可靠的风险:根据数据的重要程度和特性,设置 ...

  6. java mqtt客户端_基于 t-io 实现一个 mqtt5 协议之 mica-mqtt

    一.简介 MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的"轻量级"消息协议,由 IBM 发布 ...

  7. c++ mqtt客户端_MQTT详解及百度物接入连接手机测试(含源码) 秦子帅

    MQTT简介 MQTT定义 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分.该协议支 ...

  8. c++ mqtt客户端_MQTT安全性设计详解

    1 前言 MQTT(MQ Telemetry Transport, MQ 遥测传输).它是一种发布/订阅.极其简单和轻量级的消息传递协议,旨在用于受限设备和低带宽,高延迟或不可靠的网络.设计原则是使网 ...

  9. Java基于内存的消息队列实现

    Java基于内存的消息队列实现 有需要源码的同学可以去Gitee上下载: https://gitee.com/hyxl-520/memory_message_queue 先看测试情况 需求背景 需求来 ...

最新文章

  1. 知识图谱学习笔记(1)
  2. Android_NDK问题:APP_BUILD_SCRIPT points to an unknown file: project_path/jni/Android.mk
  3. Windows 7系统如何重装或安装IE8?
  4. SAP License:BCS进阶第三篇-BCS合并过程(一)
  5. python 生成器原理_python生成器
  6. GMA Round 1 向量计算
  7. 使用jvisualvm通过JMX的方式监控远程JVM运行状况
  8. 常见笔顺错误的字_孩子的字越写越差,强行矫正效果差,家长应这样培养孩子书写态度...
  9. echarts 力导向图
  10. cad2012打开后闪退_windows7打不开CAD2012出现闪退的处理方法
  11. Fingerprint HAL
  12. php关闭notice_屏蔽PHP默认设置中的Notice警告的方法
  13. 这个国庆,我去佛山看舞狮,太惊艳!
  14. 008高级用法markdown编写幻灯片
  15. 软考软件设计师备考详细介绍
  16. HDU - 6078 Wavel Sequence(动态规划+时间优化)
  17. Error: This old version of 'S8051.DLL' is incompatibl 解决办法
  18. Thymeleaf (三) ---------Thymeleaf 属性
  19. 网络封包分析工具Charles
  20. 学习javascript_为什么我不能学习JavaScript?

热门文章

  1. c语言3级菜单_大一新生作品:利用 C 语言实现quot;通讯录管理系统quot;,直言太简单...
  2. 为什么读博士以及有什么意义
  3. 重装系统后不重装matlab的解决办法
  4. 地理信息系统(GIS)
  5. 三轴联动c语言算法,(数控加工)虚拟轴数控机床的仿三轴控制.pdf
  6. timertask run函数未执行_函数的防抖和节流是个啥???
  7. media player怎么不能拖进度图mp4_榜样力量丨科研路上有难题,学长教你怎么解
  8. python云资源管理_python管理云服务器
  9. 年月日_C++计算输入的年月日是这一年的第几天
  10. 神经网络参数量和计算量计算