app用http3与服务器_mqtt服务器搭建以及客户端Paho安装使用
一、 即时通讯协议-mqtt
Message Queuing Telemetry Transport ,中文 : 消息队列遥测传输
1. 主要特点
- 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合
- 对负载内容屏蔽的消息传输
- 使用 TCP/IP 提供网络连接
- 有三种消息发布服务质量: “至多一次”:适用消息频繁发且丢失一两条不影响的场景,如:环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”:确保消息到达,但消息重复可能会发生 “只有一次”:确保消息到达一次。优点是确保消息送达且有且仅有一次,缺点是系统开销大.
- 小型传输,开销很小
- 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制
2. mqtt broker
是基于MQTT协议的服务端实现,即mqtt服务器
3. mqtt client
是基于MQTT协议的客户端实现。
二、 mqtt服务器-EMQ安装
官网下载 https://www.emqx.io/cn/downloads#broker
下载完成后(不要下载企业版的),解压压缩包,打开 Windows 命令行窗口,cd 到程序bin目录(路径不能包含中文或者空格,不然可能会出错), 启动 EMQ X:
G:emqx-windows-v3.2.3emqxbin>emqx startG:emqx-windows-v3.2.3emqx>cd binG:emqx-windows-v3.2.3emqxbin>emqx_ctl statusNode 'emqx@127.0.0.1' is startedemqx 3.2.3 is runningG:emqx-windows-v3.2.3emqxbin>
浏览器访问:http://127.0.0.1:18083/#/ ,进入控制台可视化页面,默认用户名/密码 admin/public
三、 使用Paho进行测试
1. 下载
mqtt 客户端图形调试工具 Eclipse Paho Java所有版本下载地址https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.0.2/
2. 简单使用
- 准确输入IP,点击连接
- “订阅”面板,新增一条主题并订阅;“发布”面板,填写需要发布的消息并发布
- 服务质量: 0 至多一次,1 至少一次 ,2 刚好一次 。具体根据项目需求决定,比如设备不停推送消息,偶尔漏一条不要紧的选择0,希望每条消息都能收到且不是那种一点差错都不能出的(如涉及到钱,重要信息) 那么选择1, 不能出一点差错的选择2。注: 2的开销最大,若不是必须不选择2。
另外,也可以用使用EMQ中Websocket工具,发布一条主题为test的信息。
发送后Paho客户端便会接收到发送的信息
3. 遗愿调试
关于遗愿的作用: 当连接MQTT服务器时设置了遗愿的客户端异常退出,心跳超时后MQTT服务器会将该客户的遗愿消息发布出去,订阅了该遗愿消息的客户端会收到通知。总的来说,就是设置(app、设备)等客户异常退出(比如,断网) 通知应用服务器的作用 (这个通知会有延迟,延迟时间和心跳有关)。
实际项目场景: 应用app服务器 监听了 主题/logout 的消息, 客户端app 连接MQTT服务器时 设置了遗愿 主题:/logout , 消息内容 {当前app用户的id} , 当用户app网络断开,过了一段时间后,MQTT服务器发现这个连接的APP客户端心跳停止很久了(和超时时间有关) ,认为app客户端已经异常退出了,然后将其连接时设置的遗愿消息发布出来主题:/logout。服务器由于已经订阅了主题/logout的消息,所以能收到这条消息,消息内容中是app用户的id,然后服务器就可以做一些下线处理了。
app用http3与服务器_mqtt服务器搭建以及客户端Paho安装使用相关推荐
- 自然人税收管理系统不能连接服务器,自然人税收管理系统扣缴客户端不能安装怎么办...
自然人税收管理系统扣缴客户端是一款网上税收申报软件,很多用户在安装的时候遇到不能安装的问题,小编在下方整理出了不能安装的解决方法一览,赶快来看看吧. 操作步骤如下: 1.可能是系统配置的问题,用户可以 ...
- 银河麒麟服务器操作系统V10SP2搭建时间服务器
chrony用来同步时间,来代替ntp服务,优点是很精巧的时间同步工具,更快响应时钟变化,在应对延时提供更好的稳定性能,不会出现时间空白,跨越互联网同步时间只需要几毫秒. 特点:1.更快的同步:能在最 ...
- 直播平台建设教程之聊天服务器该如何搭建,开发直播app软件必看
在直播平台建设中,聊天服务器的搭建是必不可少的,开发直播app软件的开发者们需要依靠socket技术来实现程序直播间内弹幕.礼物.私信等功能,以实现社交的目的,本篇文章将讲解网络直播系统中聊天服务器搭 ...
- SRS流媒体服务器——单机环境搭建和源码目录介绍
SRS流媒体服务器--单机环境搭建和源码目录介绍 1. 目录 环境搭建 源码目录介绍 1. 环境搭建 srs官⽹:https://github.com/ossrs/srs 码云的源速度快:https: ...
- 小程序为什么要搭建服务器,小程序搭建服务器
小程序搭建服务器 内容精选 换一换 提供多个业务节点提供共享的日志输出目录,方便分布式应用的日志收集和管理.业务特点:多个业务主机挂载同一个共享文件系统,并发打印日志.大文件小I/O:单个日志文件比较 ...
- 群晖免费邮件服务器Mail Server搭建心德
2023年1月2日 Daniel.y 群晖Synology Mail Server可以用于搭建免费的企业邮箱,不限用户数也不限邮箱容量.常规的安装流程在群晖的官方网站中有介绍,在此就不再赘述.这里主要 ...
- Tomcat服务器集群搭建
Tomcat服务器集群与负载均衡 一.前言 在单一的服务器上执行WEB应用程序有一些重大的问题,当网站成功建成并开始接受大量请求时,单一服务器终究无法满足需要处理的负荷量,所以就有点显得有 点力不从心 ...
- centos6.5环境DNS-本地DNS主从服务器bind的搭建
centos6.5环境DNS-本地DNS主从服务器bind的搭建 在上一篇博客中我已经搭建好了一个本地DNS服务器,能够实现正向反向解析,那么我们只需要加入一台从DNS服务器即可完成,我们来开始配置主 ...
- 宝塔服务器环境好不好_服务器环境怎么搭建?(宝塔环境搭建教程)
大家好,欢迎来到西安蓝蜻蜓网络讲坛,上期我们讲的是怎样购买服务器,很多小伙伴都知道了购买服务器的方式方法,那么购买服务器后需要怎么搭建服务器环境呢?那么今天,我们就来讲述下服务器环境怎么搭建? 以宝塔 ...
- 怎么git 自己建的服务器_Git服务器搭建,以及Git基本操作
这两天搭建Git服务器,折腾了好久,把自己纠结的几个点记录分享下. 『Git Server搭建』 1.Git安装,安装之前先查看下是否已经安装好了: git version 如果没有安装: yum i ...
最新文章
- 【青少年编程竞赛交流】03月份微信图文索引
- gVim 取消自动备份(Windows/Linux)
- 【Java源码分析】Android-LruCache源码分析
- js 加alert后才能执行方法
- 图论浅析--最短路之Bellman-Ford
- 图解VC++6.0和ACE 5.4 开发入门
- BugkuCTF-MISC题粗心的佳佳
- jsp mysql登录 demo_java jsp+servlet+mysql实现登录网页设计
- 在批评数据湖的时候,你有没有想过,它并不是取代数据仓库的
- android 音乐播放器评测,Android平台四大音乐播放器对比评测
- Delphi/Object Pascal开源跨平台3D和2D(台式机,移动设备,游戏主机)游戏引擎Castle Game Engine正式发布7.0预览版
- Python 修改微信(支付宝)运动步数,轻松 TOP1
- 【毕业设计】树莓派单片机墨水屏电子日历系统 - 物联网 嵌入式
- 2020年9月全国计算机二级c语言题库,2020年9月全国计算机等级考试二级C语言上机题库(共95套全)(76页)-原创力文档...
- Mac Scrcpy无线连接
- c语言程序设计书实验电子版,C语言程序设计实验指导书(学生用书)-修订版.pdf
- 博客从 WordPress 迁移至 Halo
- UI设计新趋势:渐变色设计重新回归主流
- 计算机毕业设计Java疫情状态下的图书馆座位预约系统(系统+源码+mysql数据库+Lw文档)
- Mac技巧:如何在拥挤的桌面上拖动文件
热门文章
- Java的GUI学习九(列出指定目录内容)
- 全国草地资源类型分布图
- java 中== equals hashcode源码剖析
- NYOJ题目1057-寻找最大数(三)
- 哈夫曼编码(自底向上的哈夫曼编码)
- java无法替换json中的换行_(NSScanner的使用)替换服务器获取的JSON数据中的换行符(JSON是不能解析带有换行符字符串)...
- vue分享卡住_vue init webpack卡住无反应??
- php 调用永中云,永中优云:是时候给大家介绍真正的云端Office了
- java套接字实验总结,实验三、WINSOCK套接字编程实验报告
- java cpu_JAVA定位CPU占用率高