【C++】开源:paho-mqtt-cpp库配置与使用
创始人
2024-12-29 11:38:23
0

😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍paho-mqtt-cpp库配置与使用。
无专精则不能成,无涉猎则不能通。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞

文章目录

    • :smirk:1. 项目介绍
    • :blush:2. 环境配置
    • :satisfied:3. 使用说明

😏1. 项目介绍

项目Github地址:https://github.com/eclipse/paho.mqtt.cpp

paho.mqtt.cpp是一个用于C++的MQTT客户端库,由Eclipse Paho项目提供支持。它提供了MQTT协议的实现,允许开发者在其C++应用程序中轻松地集成MQTT通信功能。

主要特点和用途:

1.跨平台支持:
paho.mqtt.cpp库是跨平台的,支持多种操作系统(如Windows、Linux、macOS等)和编译器(如GCC、Visual Studio等),使得开发者能够在不同的环境中使用相同的API进行MQTT通信。

2.异步和同步API:
该库提供了异步和同步的API接口,允许开发者根据需求选择适合的通信模式。异步API适合需要非阻塞IO的场景,而同步API则更适合简单的同步调用。

3.多种传输协议支持:
支持多种MQTT传输协议,包括TCP、WebSocket等,以满足不同网络环境和需求。

4.消息发布和订阅:
开发者可以使用该库轻松实现MQTT协议中的发布(publish)和订阅(subscribe)功能,通过简单的接口调用即可完成消息的发送和接收。

5.可扩展性和定制性:
paho.mqtt.cpp库设计上支持高度的可扩展性和定制性,允许开发者根据项目需求进行扩展和定制,例如定义消息处理方式、设置连接选项等。

😊2. 环境配置

ubuntu源码安装paho.mqtt.cpp:

# 依赖paho.mqtt.c git clone https://github.com/eclipse/paho.mqtt.c.git mkdir build && cd build cmake .. -DPAHO_WITH_SSL=ON make sudo make install sudo ldconfig # 安装paho.mqtt.cpp git clone https://github.com/eclipse/paho.mqtt.cpp mkdir build && cd build cmake .. make sudo make install sudo ldconfig 

程序g++编译:

g++ -o main main.cpp -lpaho-mqttpp3 -lpaho-mqtt3cs 

😆3. 使用说明

mqtt发布和订阅示例:

#include  #include   const std::string SERVER_ADDRESS("tcp://localhost:1883"); const std::string CLIENT_ID("paho_cpp_async"); const std::string TOPIC("test/topic");  int main(int argc, char* argv[]) {     mqtt::async_client client(SERVER_ADDRESS, CLIENT_ID);      mqtt::connect_options connOpts;     connOpts.set_keep_alive_interval(20);     connOpts.set_clean_session(true);      try {         client.connect(connOpts)->wait();          client.subscribe(TOPIC, 1)->wait();          mqtt::message_ptr msg = mqtt::make_message(TOPIC, "Hello from paho mqtt cpp!");         client.publish(msg)->wait();          client.disconnect()->wait();     }     catch (const mqtt::exception& exc) {         std::cerr << "Error: " << exc.what() << std::endl;         return 1;     }      return 0; } 

在这里插入图片描述

以上。

相关内容

热门资讯

攻略辅助挂!九哥玩挂"... 攻略辅助挂!九哥玩挂"辅助辅助挂"本来是有挂(哔哩哔哩)在进入九哥玩挂软件靠谱后,参与本局比赛的八名...
软件辅助挂!越乡游金花辅助&q... 软件辅助挂!越乡游金花辅助"开挂辅助神器"真是确实有挂(哔哩哔哩)1、越乡游金花辅助脚本辅助下载、越...
最终!约逗东乡k105辅助工具... 最终!约逗东乡k105辅助工具"解密辅助器"都是是有挂(哔哩哔哩)1、玩家可以在约逗东乡k105辅助...
透视肯定!开心泉州免费辅助&q... 透视肯定!开心泉州免费辅助"关于辅助教程"果然确实有挂(哔哩哔哩)1、开心泉州免费辅助免费脚本咨询教...
教程辅助挂!微信第三方辅助软件... 教程辅助挂!微信第三方辅助软件"科普辅助挂"好像确实有挂(哔哩哔哩)暗藏猫腻,小编详细说明微信第三方...
不少玩家反映!九九山城辅助免费... 不少玩家反映!九九山城辅助免费"总结辅助app"本来确实有挂(哔哩哔哩)九九山城辅助免费能透视中分为...
透视安装!浙江游戏大厅辅助器&... 透视安装!浙江游戏大厅辅助器"开挂辅助脚本"都是是有挂(哔哩哔哩)1、打开软件启动之后找到中间准星的...
推出新举措!哈糖菠萝怎么挂&q... 推出新举措!哈糖菠萝怎么挂"详细辅助脚本"真是真的是有挂(哔哩哔哩)1、推出新举措!哈糖菠萝怎么挂"...
透视黑科技!多乐保皇辅助&qu... 透视黑科技!多乐保皇辅助"分享辅助app"一直是真的有挂(哔哩哔哩)进入游戏-大厅左侧-新手福利-激...
最终!财神辅助功能"... 最终!财神辅助功能"揭露辅助插件"确实存在有挂(哔哩哔哩)1、操作简单,无需财神辅助功能手机版透视脚...