新年10个Flag实现中~
访问量
661.7K
文章数
125
运行天
769
前言基于MqttWkv1.0.7。  MqttWk是我见过最清晰、代码量最少的Broker了,分析其源码有利于初步了解。一、代码结构分析1、整体架构mqtt-auth:验证权限方面的代码mqtt-broker:Broker核心代码mqtt-common:抽象出来的持久化接口mqtt-store:持久化接口的Redis、Kafka实现mqtt-zoo:简单测试代码2、mqtt-auth代码结构验证服务的实现,还有一些验证工具类3、mqtt-broker核心代码结构cluster:集群通信的实现,用的是Redis的发布订阅作消息总线codec:基于Websocket的MQTT通信需要特殊的编解码器,这里是为websocket写的编解码器config:Broker参数配置han
一、功能测试工具1、eclipse/paho.mqtt-spy【链接】github下载地址| mqtt-spy官方功能介绍  【简介】这是一个基于java做的GUI工具,需要jdk8+。界面一看就懂,建议连接的时候开启Details模式,这样功能会全一些:【功能介绍】1)连接、安全协议:mqtt3.1/3.1.1连接方式:IP+任意端口+TCP/Websocket+TLS(CA、TrustStore)1.1、1.2、1.3ClientID:可以帮助你自动生成随机IDCleanSession标志位连接超时、失败重连、失败重订阅、重连间隔KeepAlive设置Username、Password设置遗嘱设置:Topic、QoS、Retain、Data2)订阅和发布订阅
一、MQTTBroker的需求1、基本需求1)支持mqtt3.1/mqtt3.1.1协议(可选mqtt5.0)3.1和3.1.1是最常见的协议版本,几乎目前生产的IoT设备都支持,所以Broker也必须支持。至于5.0版本,目前各大Broker都在努力支持,不过还需要一些时间才会普及。2)支持QoS0、QoS1(可选QoS2)各大厂商都至少支持了QoS1,保证消息到达。一般的场景下不会用到QoS2,所以可以选择性地考虑支持QoS23)支持遗嘱消息这是必须支持的功能,通常设备断开都不是主动断开的,而是没有电了才断开,属于异常断开,需要设置遗嘱消息来通知后端服务或者其他设备进行后续处理。4)支持持久化一些数据如QoS1消息、持久Session,需要支持持久化,这是MQTT协议规定的。5)支持多种
前言早上起来看邮件,看到一封被七牛云割韭菜的公告:内心冰冰凉,不过大家都要吃饭的嘛总不能一直免费下去。所以来研究一下对于我们这种穷人应该如何应对。一、七牛CDN加速流程主要流程分析1、用户通过浏览器访问我的网站(腾讯云服务器),网站下发HTML给浏览器,HTML里包含了图片URL,域名为cdn.bewindoweb.com,于是浏览器继续去这个域名获取图片。2、这个CDN域名是我在腾讯云域名解析构建的子域名,因此会去解析,我添加了一条CNAME,将cdn.bewindoweb.com指向了cdn.bewindoweb.com.qiniu.com,会继续解析这个七牛融合CDN的域名。3、七牛融合CDN看看有没有缓存(自定义缓存30天),如果有,则直接下发,流程结束。4、如果没有缓存,根据3种回
一、MQTT报文通信流程要做消息代理,首先需要解析协议。我们从抽象层面去考虑协议,不去更深挖到底哪个比特组合代表什么含义,这样有利于理清逻辑,而且早就有很多组件可以直接使用,只需要True和False代表什么含义,不需要知道001和010代表什么含义。以MQTT3.1.1为例来描述细节。1、术语定义1)客户端Client使用MQTT的程序或设备,它可以做的操作是:发布消息给其他客户端订阅主题取消订阅主题断开连接2)服务端Server作为发送消息的客户端和请求订阅的客户端之间的中介,也就是MQTTBroker,它可以:接受网络连接接受客户端发布的应用消息处理客户端的订阅和取消订阅请求转发应用消息给符合条件的已订阅客户端3)订阅Subscription包含一个主题过滤器(TopicFilter)
一、物联网和MQTT随着各家嵌入式产品越来越多,技术也越来越成熟,大家都开始想要随便搭载一个AI算法,然后声称为人工智能产品去售卖,像天猫精灵、小米智能音箱之类。这些产品大多都是嵌入式设备,例如小米出了很多传感器,可以用手机APP控制。这就是万物联结的网络,称为物联网(InternetofThings,IoT)。一个很重要的功能当然是通信了,以前的想法就是,要么用Wifi连上家里的路由器,然后搭建一台HTTP服务器来提供服务就好;要么直接用蓝牙等近场通信方式,手机直接和设备交换数据。无论哪种,对嵌入式设备的电量消耗都是巨大的,而且操作的体验并不好,就好像你用蓝牙还得凑近它10米以内。于是人们开始寻找更好的替代方式,1999年IBM开发的MQTT协议重新出现在舞台上。MQTT全称是消息队列遥测
前言【大目标】LeetCodeOJ刷完(目前976道题),赛码网BAT试题刷完(需要给自己定时)【计划】1、每周至少5道LeetCodeOJ,采用Java语言2、每周进行一次总结,总结所有题型的最佳答案,并学习它们的算法。3、每周五晚上定时赛码网BAT试题一套,采用标准的计时方法。【说明】因为大部分只是刷题,所以不占用博客,放到WIKI,遇到特殊的算法再以单独学习算法的形式写博客。LeetCodeOJ刷题目录序号题目相关AnyCodes分享码 1两数之和 32c36f223 2两数相加 d376ee224 3无重复字符的最长子串 826f3f225 4寻找两个有序数组的中位数 9aafc3226 5最长
前言首先申明,有条件请支持正版。最近总是有时候卡死之类的,然后一看进程,Mircosoft软件保护平台服务,就是小马KMS的进程啦,而且我下载到的还是包装后的小马KMS,被包装了一个脚本,每次KMS周期运行的时候,就会修改浏览器指向hao123……而且360还时不时报毒杀KMS,心累。网上已经有纯净版小马KMS了,大致就是去掉了包装脚本的钩子,48下载积分……所以是时候自己搭建KMS服务器了,找了好久终于找到这个帖子《windows激活工具(win8,win10)》,研究下脚本就知道它是访问的远程KMS服务器:大部分都失效了,沧水(http://kms.cangshui.net/)的还能用:于是找到了《可用于激活windows108.18720082012等众多版本,这简单几个步骤带你完成》
上一页 1 ...23456... 14下一页