mosquitto配置与使用
2015-07-10 19:54
621 查看
环境:redhat server 5.5 i386
编译工具:gcc-4.1.2 gcc-c++-4.1.2
mosquitto下载地址:http://mosquitto.org/files/source/
配置:
1.在config.mk文件中将图中两项配置为
"no"
![](http://img.blog.csdn.net/20150710190916853?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如下所示:
![](http://img.blog.csdn.net/20150710191116382?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这两向是openssl相关的东西,具体作用暂时未知,留待以后发掘。
2.执行make install命令,开始编译,出现如下错误
![](http://img.blog.csdn.net/20150710191414921?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在mosquitto的代码工程中查找mosquitto_internal.h文件,找到其中包含ares.h的位置
![](http://img.blog.csdn.net/20150710191644141?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后在config.mk文件中将WITH_SRV定义的地方改为"no",如图所示
![](http://img.blog.csdn.net/20150710191849217?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
继续执行make install命令。如果出现如上述问题,那么按照相同方法修改即可。
我这边出现了一个install相关的问题
![](http://img.blog.csdn.net/20150710192203029?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
通过查看install的帮助信息,发现install支持的是"S"(大写),而不是"s"(小写)。因此需将文件中用到install -S 的地方做出修改。
![](http://img.blog.csdn.net/20150710192618533?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
将上图中的"-s"修改为"-S",在多个Makefile文件中存在。
再次执行make install,这次就能顺利编译完成。
![](http://img.blog.csdn.net/20150710193252377?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.运行mosquitto
在终端中输入mosquitto,出现如下错误
![](http://img.blog.csdn.net/20150710193508515?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
此时需要在/etc/mosquitto/目录下的mosquitto.conf文件中写入"user root",如果没有该文件可以创建。
因为我是用的root登录,所以输入"user root",其他人用"useradd mosquitto"也可行,但是我没测试过。
输入如下命令
![](http://img.blog.csdn.net/20150710193918550?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
其中的warning不用管。
这样mosquitto服务就开始运行了。它会始终挂在这,所以下面不会出现命令行。
3.订阅消息。
重新开一个终端,输入“mosquitto_sub -t mqtt”,其中mqtt为主题名
![](http://img.blog.csdn.net/20150710194530949?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4.发布消息。
重新开一个终端,输入"mosquitto_pub -h localhost -t mqtt -m "hello world"","hello world"为发布的内容
![](http://img.blog.csdn.net/20150710194941747?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这样在订阅终端中能看到hello world就表示成功了。
编译工具:gcc-4.1.2 gcc-c++-4.1.2
mosquitto下载地址:http://mosquitto.org/files/source/
配置:
1.在config.mk文件中将图中两项配置为
"no"
如下所示:
这两向是openssl相关的东西,具体作用暂时未知,留待以后发掘。
2.执行make install命令,开始编译,出现如下错误
在mosquitto的代码工程中查找mosquitto_internal.h文件,找到其中包含ares.h的位置
然后在config.mk文件中将WITH_SRV定义的地方改为"no",如图所示
继续执行make install命令。如果出现如上述问题,那么按照相同方法修改即可。
我这边出现了一个install相关的问题
通过查看install的帮助信息,发现install支持的是"S"(大写),而不是"s"(小写)。因此需将文件中用到install -S 的地方做出修改。
将上图中的"-s"修改为"-S",在多个Makefile文件中存在。
再次执行make install,这次就能顺利编译完成。
2.运行mosquitto
在终端中输入mosquitto,出现如下错误
此时需要在/etc/mosquitto/目录下的mosquitto.conf文件中写入"user root",如果没有该文件可以创建。
因为我是用的root登录,所以输入"user root",其他人用"useradd mosquitto"也可行,但是我没测试过。
输入如下命令
其中的warning不用管。
这样mosquitto服务就开始运行了。它会始终挂在这,所以下面不会出现命令行。
3.订阅消息。
重新开一个终端,输入“mosquitto_sub -t mqtt”,其中mqtt为主题名
4.发布消息。
重新开一个终端,输入"mosquitto_pub -h localhost -t mqtt -m "hello world"","hello world"为发布的内容
这样在订阅终端中能看到hello world就表示成功了。
相关文章推荐
- java序列化和serialVersionUID
- EASYUI之Layout
- Java中序列化的serialVersionUID作用
- ZOJ 3757 Alice and Bob and Cue Sports
- iOS中UIWindow的用法(一)
- IOS--UI--LessonUIControl UIImageView/ UISegmentedControl
- quick3x_保证下标顺序排列,删除table中的元素
- Builder模式
- UIAlertView和UIActionSheet
- Flash Builder4编译慢报java heap space堆空间异常错误的解决方法
- UI 设计师的好网站
- BlockingQueue及其各个实现的分析整理
- Exynos4412 Android4.4 HDMI Porting Guid 第三篇
- Exynos4412 Android4.4 HDMI Porting Guid 第二篇
- HTC T328W刷机包 仿三星S5 UI美化 精简 S5落下
- UITextView自带的手机、网址识别和触发方法!
- [SoapUI] 比较两个不同环境下的XML Response, 从外部文件读取允许的偏差值,输出结果到Excel
- IOS之UITextField 禁止粘贴
- 解决:QWidget: Cannot create a QWidget when no GUI is being used 程序异常结束
- UIView之drawRect