干货 | MQTT协议例析

本文介绍了MQTT协议的基本概念,其在物联网中的应用,并通过Node.js实例展示了如何搭建MQTT环境,包括客户端和代理(BROKER)的设置。读者可以借此了解MQTT的工作原理及其在5G通讯中的重要性。
摘要由CSDN通过智能技术生成

点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一套ISO标准的基于发布/订阅机制的消息协议,用于在TCP网络中传输大规模物联网设备数据,是5G通讯的重要服务对象,值得我们花时间去了解学习。IBM于1999年提出MQTT,于2013年将MQTT3.1版本提交给OASIS(Organization for the Advancement of Structured Information Standards )标准化,目前主流的稳定版本为MQTT 3.1.1。MQTT官网为http://mqtt.org/。

本文采用简单的Node.js程序搭建MQTT基础环境,介绍MQTT的典型应用场景,以供感兴趣的读者参考和理解。以如下序列图为例,在MQTT中可能存在三种类型的网元或终端:

  • CLIENT1和CLIENT2为用于发布(Publish)数据的客户端(通常是物联网终端设备),即“发布者”。

  • CLIENT3和CLIENT4为用于订阅(Subscribe)接收数据的客户端或服务器(也可能是物联网终端设备),即“订阅者”。

  • BROKER用于中转数据,各种IoT云服务平台通常均支持作为此角色,即“代理”。

  • 方式1:只启动MQTT服务,默认监听1883/TCP端口

  
  
  
  1. 命令:mosca -v

  2. 输出:{ "pid":8282,"hostname":"<主机名>","name":"mosca","level":30,"time":1518403379005,"msg":"server started","mqtt":1883,"v":1}

  • 方式2:只启动MQTTS服务(MQTTS,即MQTT over SSL/TLS),默认监听8883/TCP端口

  
  
  
  1. 命令:mosca ---key ../cert/server_key_no_password.pem --cert ../cert/server.pem

  2. 输出:{ "pid":8314,"hostname":"<主机名>","name":"mosca","level":30,"time":1518403384861,"msg":"server started","mqtts":8883,"v":1}

  • 方式3:同时启动MQTT和MQTTS服务,默认监听1883/TCP端口和8883/TCP端口

  
  
  
  1. 命令:mosca ---key ../cert/server_key_no_password.pem --cert ../cert/server.pem --non-secure

  2. 输出:{ "pid":8333,"hostname":"<主机名>","name":"mosca","level":30

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值