【百问网智能家居6】MQTT和网络知识

【百问网智能家居6】MQTT和网络知识

本博客是基于百问网视频和资料做的一些个人总结,如有错漏,欢迎纠正。

一、MQTT基础知识

MQTT是常用的一种网络协议,他的通信原理示意图如下:

在这里插入图片描述

服务器:接收来自客户端的网络连接;接收客户端发来的消息;处理来自客户端的订阅和退订请求;向订阅的客户转发应用程序消息;

客户端:客户端连接服务器,可以是消息的发布者和订阅者,用于发布和订阅信息;退订或者删除其他客户端的消息;断开和服务器的连接。

在MQTT中,要进行通信,即消息传递,需要以下步骤:

首先由客户端向服务器发送连接请求进行连接,连接成功后订阅某个主题或者发布某个主题的消息,然后由另一个客户端发布该主题的消息或者订阅该主题。这时,服务器会把该主题的消息内容发送给订阅该主题的客户端,以此来完成消息的网络传递。

消息传递中涉及需要的操作有:

订阅(Subscribe),取消订阅(UnSubscribe),连接(Connect),断开连接(DisConnect),发布(Pbulish)。

二、网络知识

对于一般的设备进行通信,如IIC、SPI,一般都是在知道对方的设备地址来用以区分通信。对于网络设备通信也是类似的,每个网络设备都有自己的一个IP地址,通过这个IP地址来用以区分设备。但是IP地址是有限的,难以承载数以亿计的网络设备区分。于是,在每个网络设备加以端口来区分。此外,对于用户设备而言,不可能允许任何其他设备都能通过IP地址和端口号来与之进行通信,这样极容易导致恶意数据损坏用户设备。于是,采用路由器来做中继器,用户设备采用一个私有IP地址和端口号,路由器将用户设备的数据通过转换,生成一个新的公有IP地址和端口号来进行与服务器的数据交换。这样一来,外来数据尽管能知道我的路由器的公有IP地址和端口号,但是却不能够知道用户设备的私有IP和端口号,路由器就不会把数据转义再发回用户设备,就被舍弃掉了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值