如何用mosquitto搭建服务器
发布网友
发布时间:2022-04-21 20:36
我来回答
共1个回答
热心网友
时间:2023-05-03 06:49
Mosquitto是一款实现了消息推送协议MQTT v3.1的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。
Mosquitto官网:
MQTT协议:
客户端连接日志
1403334375: New connection from 121.201.8.163 on port 1883.
1403334375: New client connected from 121.201.8.163 as zhoujing (c0, k60, ujoyo).
1403334375: Sending CONNACK to zhoujing (0)
以上是一个客户端正常连接的日志。
第一行:服务器收到一个新的连接请求
1403334375: 表示连接的时间点
121.201.8.163: 客户端的IP地址
1883: 连接的服务器端口号
第二行:服务器为客户端建立连接
zhoujing (c0, k60, ujoyo): 客户端连接指定的ClientID为'zhoujing'
c0: 表示cleanSession=false,不清除session
k60: 表示keep-alive=60s
ujoyo: 表示使用的服务器账号为joyo
第三行:发送连接ACK包给客户端
客户端订阅过程日志
1403334375: Received SUBSCRIBE from zhoujing
1403334375: jiji/chat/9 (QoS 2)
1403334375: zhoujing 2 jiji/chat/9
1403334375: Sending SUBACK to zhoujing
第一行:服务器收到一个来自ClientID为zhoujing的订阅请求
第二行:服务器识别zhoujing订阅的主题为 jiji/chat/9,指定的QOS=2(有且只发送一次)
第三行:给ClientID=zhoujing客户端发送订阅ACK回包
服务器发送内容给客户端日志
1403334378: Sending PUBLISH to zhoujing (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes))
1403334378: Received PUBREC from zhoujing (Mid: 1)
1403334378: Sending PUBREL to zhoujing (Mid: 1)
1403334378: Received PUBCOMP from zhoujing (Mid: 1)
第一行:服务器正在发送一个消息给ClientID=zhoujing的客户端,消息体大小为396 bytes,消息主题为‘jiji/chat/9’
(d0, q2, r0, m1)的解释, 以下参数具体含义,参考MQTT协议
d: 表示mqtt报头的DUP字段
q: 表示的QOS字段
r: 表示的是RETAIN
m: 表示的是消息ID,即mid
第二行:发布收稿阶段,有保证的交付第一部分
第三行:出版发行阶段,有保证的交付第二部分
第四行:发布完成,有保证的交付第三部分,至此一个内容发部过程完成
客户端主动断开连接的日志
客户端主动断开连接的只有一行日志,很简单。如下所示:
1403334380: Received DISCONNECT from JY_API_PUSH_CLIENT
接收客户端发布内容的过程日志
1403334389: Received PUBLISH from JY_API_PUSH_CLIENT (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes))
1403334389: Sending PUBREC to JY_API_PUSH_CLIENT (Mid: 1)
1403334389: Received PUBREL from JY_API_PUSH_CLIENT (Mid: 1)
1403334389: Sending PUBCOMP to JY_API_PUSH_CLIENT (Mid: 1)
第一行:接收来自ClientID=JY_API_PUSH_CLIENT的发布请求,发布的消息主题为'jiji/chat/9',消息大小为396 bytes
第二行:服务器发送PUBREC给客户端,此过程与发送消息给客户端正好对称,只不过是Received和Sending的对象反过来而已
第三行:服务器接收到客户端已经释放的命令,内容交付第二步完成
第四行:通知客户端,接收完成,至此一个消息发布完成,内容交付第三步完成
同一个ClientID重复连接时
1403334510: New connection from 121.201.7.150 on port 1883.
1403334510: Client JY_API_PUSH_CLIENT already connected, closing old connection.
接收客户端心跳包
1403336716: Received PINGREQ from 36383A64663A6464003V0
1403336716: Sending PINGRESP to 36383A64663A6464003V0
客户端连接超时,服务器主动清除连接信息
1403336671: Client 33303A33393A3236003V0 has exceeded timeout, disconnecting.
客户端socket异常时的日志
1403337602: Socket error on client 351BBJKFX62C1, disconnecting.
1403337602: Socket error on client 351BBJKFX62C0, disconnecting.
Linux搭建MQTT服务器(mosquitto)并使用
1. 安装必备软件 确保系统具备基础软件包,为后续操作做准备。2. 下载Mosquitto 选择稳定版本1.6.8,避免因新版本的兼容性问题导致的依赖缺失。从官方网站mosquitto.org下载,或通过wget命令直接下载并传输至服务器。3. 解压、编译与安装 解压下载的包,执行编译与安装命令。遇到libmosquitto.so.1找不到...
JTTI服务器
Jtti是一家新加坡全球网络基础服务商,为数百万个网站提供支持,提供香港服务器、新加坡服务器等多种全球服务器,自营全球多个数据中心,为用户提供优质的网络资源和服务。JTTI服务器整体性能是非常不错的,拥有CN2 GIA+BGP优化线路,多个节点可选,套餐配置支持自定义,经过第三方站长测评之后,获得了站长和客户的一致认可,无论是硬件性能,网络线路,还是带宽品质,都能够满足大陆用户的使用需求,以下是Jtti的服...
基于Mosquitto搭建MQTT服务器
配置完成后,通过PowerShell窗口启动MQTT服务器。常用的指令参数包括:-c:加载配置文件(mosquitto.conf)-d:后台执行 -p:监听指定端口,不与-c选项同时使用 -v:启用详细日志模式 使用指令,表示以mosquitto.conf作为配置文件运行,并启用详细日志模式。进行测试,使用mqtt.fx工具配置相关信息及用户密码,...
如何搭建自己的MQTT服务器
搭建个人MQTT服务器,首选轻量级开源项目mosquitto。首先,在Linux系统上安装,可选择使用虚拟机或真机环境。使用命令行安装所需的依赖库:sudo apt-get install libssl-dev sudo apt-get install uuid-dev sudo apt-get install cmake 其次,下载并解压mosquitto最新版本1.5.1。操作步骤如下:tar xzvf m...
如何搭建自己的MQTT低成本服务器(Ubuntu)
搭建自己的低成本MQTT服务器(Ubuntu)的关键步骤如下:首先,确保安装Mosquitto。在Ubuntu上,执行以下操作:安装mosquitto服务:使用`sudo apt-get install mosquitto`安装mosquitto-client:`sudo apt-get install mosquitto-clients`检查服务是否正常:在三个终端中分别运行命令以测试连接和通信,如监听1883端口...
白话MQTT服务器的搭建
搭建过程,以使用Python的mosquitto服务器为例。首先,选择合适的MQTT服务器软件并下载安装mosquitto。接着,对配置文件mosquitto.conf进行修改,包括设置监听端口、启用用户名密码验证、指定用户密码文件路径。启动mosquitto服务,确保网络连接。接下来,使用Python的paho库编写MQTT服务端与客户端代码。服务端程序`...
如何使用rocketmq搭建一台mqtt服务器?
搭建MQTT服务器,利用RocketMQ技术实现过程如下:首先安装MQTT相关组件,包括mosquitto与mosquitto-client。确保终端能够正常运行。启动一个终端,执行指令开启MQTT服务,注意监听端口通常为1883,这是关键点。在第二个终端执行指令订阅节点,这里以“Hello”作为演示节点,可以自定义。第三个终端在“Hello”节点...
如何搭建android推送mptt服务器
下面介绍一下搭建过程:需要准备的工具如下:(1)、下载Mosquitto(MQTT的代理,也可以用IBM的ISMB)http://mosquitto.org/download/ 我下载的是mosquitto-1.1.2-install-win32.exe,根据自己的需要下载,不安装这个推送不了消息。(2)、下载AndroidPushNotificationsDemo https://github.com/tokudu/Androi ...
用mosquitto+paho+protobuf实现mqtt的示例代码
mqtt通信示例代码利用mosquitto+paho+protobuf实现。mosquitto是一款轻量级的mqtt服务器实现,适用于多种环境。示例代码中,服务器搭建在阿里云服务器上,使用mosquitto和mosquitto-clients工具,安装命令为:sudo apt install mosquitto mosquitto-clients 验证服务是否启动,如未启动,使用命令 sudo systemctl start...
海豚MQTT-Mosquitto(1)
安装和运行Mosquitto在Centos服务器上相对简单,只需要几个命令即可。为了保证安全性,我关闭了默认的匿名访问,通过创建adam用户并存储在/etc/mosquitto/clipasswd文件中,并设置了用户密码登录。接着,我修改了mosquitto.conf文件,强制客户端使用用户名和密码进行认证,并重启了服务。接下来,我开始转向SSL...
树莓派HomeAssistant系列(二)MQTT监控你的树莓派
配置文件编写完毕,执行命令运行MQTT服务,选择eclipse-mosquitto作为MQTT服务器,这是一个受到广泛支持的选项。验证MQTT服务是否启动成功。在Home Assistant中搜索MQTT,填入树莓派的IP地址(通常为路由器分配的地址),或localhost(适用于在派派上操作)。确保在配置页面选择自动发现选项,按照向导步骤操作,...