1. 下载并安装openSSL, mosquitto 应用程序运行时会用到

http://slproweb.com/products/Win32OpenSSL.html

2. 下载并安装mosquitto

http://mosquitto.org/download/

3. 使用

1)在cmd窗口中,启动Mosquito的MQTT服务

C:\Program Files\mosquitto>mosquitto

2)在另一个cmd窗口中,启动侦听通道程序

c:\Program Files\mosquitto> mosquitto_sub -t mytopic

3)在另一个cmd启动发布程序

c:\Program Files\mosquitto>mosquitto_pub -t mytopic -m 111

此时在第2个窗口中会收到111

4. 开发代码sample

以下代码来自

http://mosquitto.org/man/libmosquitto-3.html

Examples

#include <stdio.h>
#include <mosquitto.h>
void my_message_callback(struct mosquitto *mosq, void *userdata, const struct mosquitto_message *message)
{if(message->payloadlen){printf("%s %s\n", message->topic, message->payload);}else{printf("%s (null)\n", message->topic);}fflush(stdout);
}void my_connect_callback(struct mosquitto *mosq, void *userdata, int result)
{int i;if(!result){/* Subscribe to broker information topics on successful connect. */mosquitto_subscribe(mosq, NULL, "$SYS/#", 2);}else{fprintf(stderr, "Connect failed\n");}
}void my_subscribe_callback(struct mosquitto *mosq, void *userdata, int mid, int qos_count, const int *granted_qos)
{int i;printf("Subscribed (mid: %d): %d", mid, granted_qos[0]);for(i=1; i<qos_count; i++){printf(", %d", granted_qos[i]);}printf("\n");
}void my_log_callback(struct mosquitto *mosq, void *userdata, int level, const char *str)
{/* Pring all log messages regardless of level. */printf("%s\n", str);
}int main(int argc, char *argv[])
{int i;char *host = "localhost";int port = 1883;int keepalive = 60;bool clean_session = true;struct mosquitto *mosq = NULL;mosquitto_lib_init();mosq = mosquitto_new(NULL, clean_session, NULL);if(!mosq){fprintf(stderr, "Error: Out of memory.\n");return 1;}mosquitto_log_callback_set(mosq, my_log_callback);mosquitto_connect_callback_set(mosq, my_connect_callback);mosquitto_message_callback_set(mosq, my_message_callback);mosquitto_subscribe_callback_set(mosq, my_subscribe_callback);if(mosquitto_connect(mosq, host, port, keepalive)){fprintf(stderr, "Unable to connect.\n");return 1;}mosquitto_loop_forever(mosq, -1, 1);mosquitto_destroy(mosq);mosquitto_lib_cleanup();return 0;
}

使用mosquitto开发MQTT客户端相关推荐

  1. 使用java开发MQTT客户端接收消息

    1.搭建好MQTT服务器,可以参考EMQX企业版试用笔记_Three Big Stones的博客-CSDN博客 2.Eclipse下新建一个Maven项目,并引入mqtt客户端java版本包. < ...

  2. MQTT客户端(基于mosquitto库)上报温度到腾讯云

    Linux C MQTT上报温度到腾讯云(基于mosquitto库) 一.创建产品 1.进入腾讯云官网,登陆或注册账号 2.进入控制台 3.鼠标滑到云产品,进入物联设备服务中的物联网通信 4.点击创建 ...

  3. MQTT | Windows + mosquitto搭建MQTT Broker(本地服务器)与MQTTX客户端联调

    文章目录 一.前言 二.mosquitto 2.1.安装 2.2.修改mosquitto.conf配置文件 2.2.1.listener 2.2.2.allow_anonymous 2.2.3.pas ...

  4. MQTT客户端(基于mosquitto库)上报温度到阿里云

    Linux C MQTT客户端上报温度到阿里云 一.创建产品 1.进入阿里云官方页面,右上角点击登陆或注册阿里云账号 2.登录阿里云账号后点击右上角进入控制台 3.鼠标移到左上角展开导航 4.进入在物 ...

  5. ESP8266的MQTT客户端搭建教程(基于NONS_SDK_v2.0)

    前言 MQTT是IBM开发的一个即时通讯协议,面向M2M和物联网的连接,采用轻量级发布和订阅消息传输机制,并且有可能成为物联网的重要组成部分. ESP8266是一款物美价廉的Wi-Fi芯片,集成Ten ...

  6. 【ESP8266】ESP8266的MQTT客户端搭建教程(基于NONS_SDK_v2.0)

    前言 MQTT是IBM开发的一个即时通讯协议,面向M2M和物联网的连接,采用轻量级发布和订阅消息传输机制,并且有可能成为物联网的重要组成部分. ESP8266是一款物美价廉的Wi-Fi芯片,集成Ten ...

  7. 从零开始实现一个MQTT客户端 开篇漫谈

    iOS开发中,关于MQTT的三方库主要有两种. 基于C实现的Mosquitto库.当然直接去调用C的接口并不是特别的舒服,所以用一个ObjC的类作为桥接.比如MQTTKit. 使用ObjC或者Swif ...

  8. 一种MQTT客户端消息队列的设计

    MQTT 简介 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议.它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟 ...

  9. mqtt协议产品化实现-华为鸿蒙实现mqtt客户端

    前面介绍的mosquitto项目[1]主要实现的是mqtt broker的功能,该小节介绍的物联网操作系统中的mqtt主要是实现客户端功能,因为角色的不同,所以在功能点上.架构上有很大的差异,所依赖的 ...

最新文章

  1. 数据处理系列(四) 安装Elasticsearch用以存储和查询数据
  2. 张亚勤:未来10年AI+生物制药大有可为,我们正开展破壁计划 | MEET2022
  3. jvm优化_镜像镜像–使用反射在运行时查看JVM内部
  4. 【CodeForces - 527C】Glass Carving(线段树或者SBT或者set)
  5. 天画-codeMaker组件化架构升级实践
  6. 词汇的理解 —— 英译汉
  7. linux中级之lvs配置(命令)
  8. 图解约瑟夫环(C语言实现)
  9. python图像处理笔记-八-针孔照相机模型与照相机标定
  10. ubuntu本地安装中文
  11. 冰刃(IceSword)的使用方法(基础篇)
  12. Line云端全自动加好友机器人
  13. 二维数组 Arrays
  14. 分享 10 个高星的创意项目!
  15. SpringBoot POI导出Excel
  16. Odoo产品分析 (三) -- 人力资源板块(5) -- 出勤(1)
  17. 3个老油条私藏多年的资源库被曝光了,原来这种资源都在这里找的
  18. 【这个太强了】微信超级管家,支持自动回复、好友计数、自动同意、群发、好友导出、消息日志、无限多开
  19. C++解题报告:详解经典搜索难题——八数码问题( 双向BFS A* 求解)
  20. android u盘地址,android 9.0 获取U盘路径

热门文章

  1. 详解Redis和Memcached
  2. 咕咚CEO申波:Fitbit 模式在中国走不通,智能手环将消失
  3. 超级无敌VS Code配置Java开发环境教程
  4. 《智力是什么》读书笔记
  5. 微信小程序助力社区便利店利润破百万
  6. 2022年登高架设试题及解析及登高架设模拟试题
  7. “封转开”行情或再现 低仓位封基现套利机会
  8. Docker 核心知识点 可视化仪表盘
  9. 【信息量判别块:语义监督:GAN:IVIF】
  10. 2015MCM/ICM总结