linux 使用paho C库实现mqtt客户端
一、下载
github 下载paho mqtt c库源码,编译安装库文件。
地址:https://github.com/eclipse/paho.mqtt.c
关键API:Paho Asynchronous MQTT C Client Library: MQTTAsync.h File Reference
说明:paho客户端库是纯c库,支持两种操作模式:同步模式和异步模式。异步方式调用MQTTClient_setCallbacks接口设置回调函数。
- 同步模式
客户端应用程序在单个线程上运行,主要使用MQTTClient_publish()和MQTTClient_publishMessage()函数。应用程序必须调用MQTTClient_waitForCompletion()函数查询以确定QoS1或QoS2消息已成功传递。接收消息使用MQTTClient_receive()函数。此外,客户端应用程序必须调用MQTTClient_receive()或MQTTClient_yield()处理确认和MQTT保持与服务器的网络连接处于活动状态。
- 异步模式
客户端应用程序在多个线程上运行。主程序调用客户端库中的函数来发布和订阅。不同的是握手和维护的处理、网络连接是在后台执行。向客户端提供状态和消息接收通知使用通过调用向库注册的回调的应用程序MQTTClient_setCallbacks()、MQTTClient_messageArrived()、MQTTClient_connectionLost()和MQTTClient_deliveryComplete()。
注意:但是,此API不是线程安全的,不可能从多个端口调用它,没有同步的线程。线程安全的异步模式需要使用MQTTAsync API。
二、安装
下载后解压,执行make,如果报错找不到openssl头文件的问题,需要安装openssl和相关依赖。
apt-get install openssl libssl-dev
查看是否安装成功:
openssl version -a
如果要编译API doxygen文档,还需要安装doxygen
apt-get install doxygen graphviz
再次make即可编译完成,make install进行安装
make
make install
执行make html, 编译生成api文档
三、使用
具体参看提供的sample,相当清晰和明了。
linux 使用paho C库实现mqtt客户端相关推荐
- 【Mqtt】基于paho.mqtt.c库的mqtt客户端实现
目录 1.paho.mqtt.c 2.构建 3.mqtt客户端实现 1.paho.mqtt.c https://github.com/eclipse/paho.mqtt.c
- MQTT客户端库-Paho GO
为了加深理解,本文是翻译文章.原文地址 Paho GO Client 语言 GO 协议 EPL AND EDL 官网地址 http://www.eclipse.org/paho/ API类型 As ...
- MQTT客户端paho.mqtt.XXX
1. MQTT客户端C代码库 C语言库:https://github.com/eclipse/paho.mqtt.c 1.1 C源码下载构建 # centos7 OS 方法一 $ git clone ...
- mqtt linux 编译,MQTT客户端代码X64位Ubuntu环境编译+测试实践小结
https://cloud.baidu.com/doc/IOT/IoTdownload.html#.E4.B8.8B.E8.BD.BDMQTT.E7.9B.B8.E5.85.B3 下载MQTT相关: ...
- MQTT客户端(基于mosquitto库)上报温度到腾讯云
Linux C MQTT上报温度到腾讯云(基于mosquitto库) 一.创建产品 1.进入腾讯云官网,登陆或注册账号 2.进入控制台 3.鼠标滑到云产品,进入物联设备服务中的物联网通信 4.点击创建 ...
- C语言基于paho实现MQTT客户端实战案例
C语言基于paho实现MQTT客户端实战案例 目标 说明 项目代码 make文件 mqttClient.pro 项目入口 main.c 链表 list.h 消息队列 queue.h 消息队列 queu ...
- paho | 支持10种语言编写mqtt客户端,总有一款适合你!
1. 轻量级物联网协议 - MQTT MQTT全称 Message Queuing Telemetry Transport,即消息队列遥测传输协议,是一种基于发布/订阅(publish/subscri ...
- android paho框架,Android Mqtt 客户端paho使用心得
Android mqtt 客户端实现一般使用以下两个库: implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1 ...
- eclipse paho java_如何使用Eclipse Paho在Java MQTT客户端上接收时发布消息
我正在尝试使用 Eclipse Paho在Java中的MQTT客户端上实现某些功能.目标是订阅主题,并且当收到消息时,客户端发送关于另一主题的另一消息. 这看起来很容易,但我有一个奇怪的问题,我无法解 ...
最新文章
- Hibernate(2)——Hibernate的实现原理总结和对其模仿的demo
- VS.NET 2005中实用的默认键
- sklearn自学指南(part22)--支持向量机的分类与回归
- /usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
- angularjs php 实例下载,AngularJS Eclipse 1.2.0 插件下载
- Mybatis/Ibatis,数据库操作的返回值
- codeblocks哪个字体最舒服_如果给你一百万让你放弃一种美食永远不吃,你会放弃哪个?...
- oracle delphi唱盘,经典再升级 Oracle Delphi MK VI Gen 2
- Dart网络编程-备忘录2.0
- 家用智能门锁常见的开锁方式,主要有哪些?
- IPEmotion采集J1939协议信号介绍
- 【AI安全】对抗样本之FGSM的代码实现(TensorFlow2)
- linux邮件报警命令,linux 邮件报警,监控内存cup
- 基于matlab的倒立摆设计,基于MATLAB的倒立摆智能控制
- 阿里云DataV基础平面地图使用笔记(2)
- 不用跑项目,组件效果所见即所得,绝了~
- 2021-01-20
- 【捡米通】网络赚钱,钱死磕才是王道!
- os.chdir()
- 中国社会追踪调查数据CGSS区县码(最全版本)