问题标签 [moquette]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - GAE:MQTT 代理
所以我想知道是否可以在 Google App Engine 平台上运行 MQTT 代理?找不到任何有关它的信息(或者我可能使用了错误的关键字)。
我已经让我的 GAE 在 Java 上运行,所以我想进入使用后端在 GAE 上运行 MQTT 代理的方向。
编辑: 做了一些进一步的研究,似乎 Moquette 正在 Java 上运行。有人有在 GAE 上运行 Moquette 的经验吗?
EDIT2: 好的,似乎 Moquette 的示例正在使用 OSGi 容器运行,这在 GAE 中不可用。正在寻找在 GAE 上启动此服务器的脚本。
java - Maven:无法解析依赖项(找不到工件)
我正在尝试使用 maven构建moquette ,对于 Maven 来说是一个完整的新手。
我正在使用以下命令进行构建。
mvn 干净安装 -U
和
mvn 清洁安装 -U | grep 错误
结果如下:
完整输出:
mvn clean install -e -X -U
可以在这里找到。
我的pom.xml看起来像:
是什么导致了这个问题,我该如何解决这个问题?
java - 如何在 Android 中部署 Moquette 代理?
我们可以在 Android 中部署 Moquette/Mosquitto 代理来进行 MQTT 客户端通信吗?
我想在 Android 中部署一个 Moquette/Mosquitto 代理,一个 MQTT 客户端将使用该代理与另一个客户端通信。
mqtt - 未从 Paho 客户端中的 MQTT 代理获取已发布消息
我已经设置了一个 Moquette MQTT 代理并将其与 eclipse Paho 客户端连接(我将调用它paho1
)。订阅in/#
主题。
我创建了另一个 Paho 客户端(我将调用它paho2
),当然具有不同的客户端 ID,并将其发布到带有in/device
主题的代理。
起初,数据包已成功交付。但是,当我断开连接paho2
并重新连接到代理并发送相同的数据包时,它不会传递到paho1
.
我想知道为什么会这样。我对 Paho 客户端的设置是qos = 0
(我也尝试了 1 和 2)。
我正在查看经纪人的日志,它如下所示。成功后,我的协议版本将打印到日志中。
mqtt - QoS1 MQTT 中的 PUBLISH 交付失败
我正在使用 moquette mqtt 代理,我正在尝试了解实现以及 MQTT 代理。我希望为个人项目对经纪人进行一些修改。
我很好奇当设备向代理发送 PUBLISH 消息时会发生什么,并且代理无法将消息传递给订阅者。该协议规定将 PUBACK 发送回发布者。在 moquette 源代码中,这个 PUBACK 似乎是在将消息转发给任何订阅者之后发送的。
我注释掉了 sendPubAck() 函数来模拟消息没有成功发布,所以我假设发布者会再次发布消息。但是,当我在传入消息处理函数旁边添加一个打印语句时,我只能看到从发布者定期发送到代理的 PINGREQ 消息。我没有看到任何发布消息。
我的问题如下:客户端设备究竟如何决定何时重新发布消息?因为注释掉 sendPubAck() 函数似乎不会让发布者重新发送消息。
java - moquette 用户的权限不同于访问控制列表中写入的权限
我使用 moquette 作为我的 MQTT 代理。
我在我的配置中指定了一个访问控制文件,如下所示:
然后在 acl.conf 文件中,我只添加了一个用户,如下所示:
我的问题
用户重力无法写入输出主题,我收到错误消息:topic {out} doesn't have write credentials
此外,用户重力可以订阅所有主题,而不仅仅是在
另外,我还有另一个用户,即william,并且william可以订阅任何主题,但不能发布任何主题。我不知道威廉怎么可能订阅任何主题,尽管acl文件指出我只有一个具有列出权限的用户
笔记
尽管我正在研究 moquette,但我正在为 mosquitto 添加一个标签,那是因为它们共享相同的 acl 格式
更新
准备好broker的代码后,
我发现这是新订阅请求到来时调用的函数:
我认为这是有错误的函数,因为我看不到任何对 IAuthorizator canRead 函数的调用
我什至尝试构建自己的身份验证插件,并且我遇到了同样的问题,即发布授权有效,但订阅授权无效
amazon-ec2 - 无法连接到 aws ec2 实例中的 moquette
我是 MQTT 新手,一直在尝试在 AWS EC2 上实现 MQTT MOquette,我尝试在我的机器上配置和安装代理,并且能够从客户端连接和测试它,但是当我从 Aws EC2 实例执行相同操作时我可以看到端口 1883、8080 正在监听 0.0.0.0 ip 地址,但是当我从客户端连接时,我无法连接。
在本地机器上配置主机时,我为主机和端口 1883、8080 提供了 0.0.0.0,在 AWS 服务器上,我为主机和端口提供了私有 IP,端口为 1883、8080。我在安全组中添加了规则以允许 1883 和 8080 上的 tcp .
我的问题是我应该在 AWS 上使用的主机值,例如私有 ip 或 aws url,例如“ec2-XX-XX-XXX-XX.us-west-2.compute.amazonaws.com”,以及 url从中我可以从客户端访问代理,例如“tcp://ec2-XX-XX-XXX-XX.us-west-2.compute.amazonaws.com”或 IP
我会在这里做错什么?卡在这个问题上
谢谢大家
java - 如何使用相同的 BlockingConnection 对象发布和订阅
我正在尝试使用下面的代码向 MQTT 发布和订阅数据,
但我可以将数据很好地发布到 MQTT。当他们发布主题名称为 /call/subscribecall 的数据时,我得到空指针异常,message.getPayload();
但订阅者正确发送数据。
为什么我得到 null 而不是订阅者发送数据?订阅代码似乎没有获取数据。
我在哪里做错了?
java - 使用 mqtt 和 tomcat
我想同时使用 http 和 mqtt 功能,所以我尝试使用 tomcat 和 moquette,如下所示,但最终得到 "java.net.BindException: Address already in use" 。如果有更好的方法,请告诉我。
配置文件看起来像这样
服务器.xml
android - 如何在 android 中实现“moquette”代理(MQTT 代理)
我找到了一个适用于 Android 的moquette代理(服务器),但无法使其在 Android 应用程序中运行。任何人都可以帮助我在 Android Studio 中使用此代理与客户端制作示例应用程序吗?
我已经从 git 下载了源代码,并将 dir 'broker' 'netty_parser' 和 'parser_commons' 作为模块添加到我的 Android 项目中。
“moquette”文件说要添加以下内容
进入 settings.gradle 然后启动服务器
它给
这样做的正确方法是什么?
是否有任何其他适用于 Android 的 MQTT 代理(服务器)?