Mosquitto 0.15 开源MQTT v3.1 Broker

Mosquitto是一个开源(BSD许可证)的消息代理,实现MQTT(消息队列遥测传输)协议版本3.1。

1.从下载Cygwin版的Windows安装包,当前版本为0.15;

2.在安装过程中,可以选择作为系统服务,如下图所示:

3.可在"服务"中看到此服务,如下图所示:

使用系统服务进行启动的话,安装目录下的配置文件"mosquitto.conf"将会被加载使用。

下面简单使用mosquittopp进行发布主题:

1.创建Win32控制台程序,名称:TestMosquitto;

2.将"…\mosquitto\devel"下的mosquitto.h、mosquittopp.h和mosquittopp.lib拷贝到工程目录下;

3.将"…\mosquitto"下的mosquitto.dll和mosquittopp.dll拷贝到工程输出目录下;

4.修改mosquittopp.h文件第45行,修改如下:

1#include"mosquitto.h"

5.示例代码如下:

01020304050607080910111213141516171819202122232425262728293031323334353637#include"stdafx.h"#include<iostream>#include"mosquittopp.h"#pragmacomment(lib,"mosquittopp.lib")classmqtt_test:publicmosquittopp::mosquittopp{public:mqtt_test(constchar*id):mosquittopp(id){}voidon_connect(intrc){std::cout<<"on_connect"<<std::endl;}voidon_disconnect(){std::cout<<"on_disconnect"<<std::endl;}voidon_publish(uint16_tmid){std::cout<<"on_publish"<<std::endl;}};int_tmain(intargc,_TCHAR*argv[]){mosquittopp::mosquittopp::lib_init();intrc;charbuf[1024]="Thisistest";mqtt_testtest("testID");rc=test.connect("127.0.0.1");if(MOSQ_ERR_SUCCESS==rc){rc=test.loop();if(MOSQ_ERR_SUCCESS==rc){rc=test.publish(NULL,"topic/test",strlen(buf),(uint8_t*)buf);rc=test.loop();}rc=test.disconnect();rc=test.loop();}mosquittopp::mosquittopp::lib_cleanup();return0;}

6.结果如下:

开启mosquitto.exe程序,开启自带的mosquitto_sub.exe订阅主题,运行测试程序,结果如下:

mosquitto.exe显示信息如下:

mosquitto_sub.exe显示信息如下:

附录:1.配置选项:

一般配置选项

VARIABLES

acl_filefile path

Set the path to an access control list file设置访问控制列表文件的路径

出门走好路,出口说好话,出手做好事。

Mosquitto 0.15 开源MQTT v3.1 Broker

相关文章:

你感兴趣的文章:

标签云: