Mosquitto搭建Android推送服务番外篇一:各种报错解决
文章钢要:
目前笔者在开发搭建Mosquitto服务器,在此期间遇到很多实际问题,所以走了很多弯路,在这里写出来为大家提供一些帮助。
1、安装完成后启动Mosquitto报错
执行mosquitto客户端程序时出现找不到动态库:libmosquitto.so.1
./mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
解决方法:
执行命令
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
和
ldconfig
即可
2、启动Mosquitto服务器时配置文件报错
Invalid user 'mosquitto'.
[root@localhost src]# ./mosquitto
: Error: Invalid user 'mosquitto'.
这是因为配置文件里没有当前用户,有2中解决方法:
1.修改配置文件:mosquitto.conf ,增加登录的用户,例如当前登录用户为root。

2.执行命令增加当前用户: adduser mosquitto

3、重启Mosquitto
笔者在网上找了很多资料都没有提起怎样重启服务器,并且在官网上也没有相应命令提示。
所以我们使用Liunx终止进程命令,强行退出。
[root@localhost ~]# ps -A | grep mosquitto
? :: mosquitto
[root@localhost ~]# kill -
4、连接无响应
服务器正常开启,但是远程发布信息的时候会有如下提示:
主服务器与2台从服务器做了桥接,在100服务器上订阅消息
mosquitto_sub -t remoteprefix/rootdir/#
在100与101服务器上发布消息
mosquitto_pub -t remoteprefix/rootdir/ -m "Hello word"
上述订阅者可以收到“Helloworld”。如果在主服务器上发布消息就要使用
mosquitto_pub -t localprefix/rootdir/ -m “Hello world”
订阅者才能收到消息。因此会产生一个问题在写代码的时候,需要区分是主服务器还是从服务器。以便增加本地前缀或者远程前缀。会给编程带来很多麻烦。
为了解决这个问题可以将2个前缀名称写成一致即可。如下:
Mosquitto搭建Android推送服务番外篇一:各种报错解决的更多相关文章
- Mosquitto搭建Android推送服务(一)MQTT简介
总体概要: MQTT系列文章分为4部分 1.MQTT简介 2.mosquitto服务器搭建 3.编写Mosquitto的可视化工具 4.使用Mosquitto完成Android推送服务 文章钢要: 对 ...
- Mosquitto搭建Android推送服务(二)Mosquitto简介及搭建
文章钢要: 1.了解Mosquitto服务器 2.在Liunx中搭建Mosquitto服务器 3.设置Mosquitto集群 一.Mosquitto简介 一款实现了消息推送协议 MQTT v3.1 的 ...
- Mosquitto搭建Android推送服务(三)Mosquitto集群搭建
文章钢要: 1.进行双服务器搭建 2.进行多服务器搭建 一.Mosquitto的分布式集群部署 如果需要做并发量很大的时候就需要考虑做集群处理,但是我在查找资料的时候发现并不多,所以整理了一下,搭建简 ...
- Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置
文章钢要: 1.对服务器进行多用户配置 2.根据不同用户给予不同权限 一.Mosquitto的用户机制 mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作 ...
- Android推送服务——百度云推送
一.推送服务简介 消息推送,顾名思义,是由一方主动发起,而另一方与发起方以某一种方式建立连接并接收消息.在Android开发中,这里的发起方我们把它叫做推送服务器(Push Server),接收方叫做 ...
- Android推送服务(2)微信智能心跳方案
http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207243549&idx=1&sn=4ebe4beb8123f1b5 ...
- Android推送服务(1)几种实现方式
1.几种常见的解决方案实现原理 1)轮询(Pull)方式:应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等.而且你还要考虑轮询的频率,如果 ...
- 解决跟Docker私有仓库登陆,推送,拉取镜像出现的报错
出现问题:Error response from daemon: Get https://192.168.186.120/v1/users/: dial tcp 192.168.186.120:443 ...
- Android Studio ERROR: x86 emulation currently requires hardware acceleration!报错解决傻瓜教程~
很早之前就碰到过Android Studio模拟器无法启动的问题,今天终于尝试去解决了下,下面将我解决的方法记录下. 模拟器报错信息为: emulator: ERROR: x86 emulation ...
随机推荐
- 如何从Exchange邮箱数据库批量删除特定邮件
- Java学习笔记之JNDI(六)
JNDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的 ...
- 走进AngularJs 表单及表单验证
年底了越来越懒散,AngularJs的学习落了一段时间,博客最近也没更新.惭愧~前段时间有试了一下用yeoman构建Angular项目,感觉学的差不多了想做个项目练练手,谁知遇到了一系列问题.yeom ...
- celery使用方法
1.celery4.0以上不支持windows,用pip安装celery 2.启动redis-server.exe服务 3.编辑运行celery_blog2.py !/usr/bin/python c ...
- ERwin入门
1.菜单介绍 2.选择建模语言符号
- ajax的简单介绍
响应主体,就是服务器给我们返回的结果内容(浏览器里的responsive) 请求主体,是我们给服务器的数据 输入域名发起一次请求,得到的可能是标签,标签可能还要在发一次请求 post怎么发请求:for ...
- JavaScript系列文章:详解正则表达式之二
在上一篇文章中我们讲了正则表达式的基本用法,接下来博主想聊聊其中的细节,今天就从正则修饰符开始吧. 正则修饰符又称为正则标记(flags),它会对正则的匹配规则做限定,进而影响匹配的最终结果.在上次的 ...
- oracle--存储过程--bai
--1 无入参最简单的存储过程 create or replace procedure hello_proc as v_name varchar2(20); v_age number; begin v ...
- MVC重定向-自定义路由篇
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.Ignore ...
- UUID库
If you cannot afford to use Boost, then there is a very minimal library that I implemented which sim ...