今天学的是MQTT,结合了之前TCP和JSON的知识,我对MQTT的理解是他是一种轻量级的通信协议,小带宽,适合嵌入式这种窄带传输的应用场景下,它基于TCP,并且他在TCP基础上更加可靠,与TCP不同的是,MQTT引入了几个新的概念,MQTT仍然分客户端和服务器,服务器在MQTT中叫Broker即代理人,做信息传输的桥梁,客户端在MQTT中分为发布者(publish)和订阅者(subscribe),客户端之间是平等关系,两个客户端之间既可以是发布者也可以是订阅者的关系,还有一点不同的是MQTT的消息有主题,负载两个概念,主题就是类似于消息类型,只有订阅发布相同的主题的消息才能接收到,负载就是消息内容,MQTT用起来也是比较简单的,下午看了一下MQTT的sample源码,主要的是client客户端的subscribe.c和 publish.c 两个文件,要注意的一点是订阅操作会自动创建一个线程,所以在一个文件中即可以进行订阅也可以发布,而不需要创建多进程或者多线程并发就可以实现双工通信,之后做项目的时候可以直接拿sample来用,只需要改一下接收发布的消息内容转换成json格式,再改一下ip和端口号等,对了还要注意每个客户端有个clientid,为了识别不同的客户端,也要改一下。
MQTT初识
最新推荐文章于 2024-05-30 18:06:35 发布