mqtt - 尝试从远程 Mosquitto 代理接收到 IoT 设备的 MQTT 消息时出错
问题描述
我使用 MQTT paho 库编写了一个用于发布和订阅 Mosquitto 代理的 Android 应用程序,并在不同的场景下对其进行了测试。
我已经测试了我的应用程序,它在 LAN 场景中运行良好,但是当消息来自远程时它不再工作。我还在物联网设备网络的路由器上配置了转发端口。
问题是当向 IoT 设备(运行 Android Things 的 Pico-pi-iMX7)发布消息时,消息是从远程代理发送的。
我测试了通过转发规则在与物联网设备相同网络下的计算机上接收消息并且它可以工作。由于该设备是基于 unix 的,我使用 iptables 确保以超级用户身份使用以下命令接受所有网络流量:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -p tcp -sport 1883 -j ACCEPT
当我发送消息时,我收到以下错误:
Error: Cannot establish a connection with the target - Connection refused.
有任何想法吗?
解决方案
推荐阅读
- java - 比较Java中的2个以上(动态决定多少个列表)列表
- javascript - 如何将文本的结尾集中在
tag in HTML using Javascript?
- outlook-addin - 如何通过 OWA REST API 获取 > ~35MB 的附件内容?
- python - 选择 DataFrame.set_index 中除一列之外的所有列
- android - Scroll the VerticalGridView or RecyclerView by keeping focus on center element
- php - 让 php7 工作,但是当我尝试制作 mysqli 对象时,“找不到类 'mysqli'”
- php - 如何在我的网站上显示我的 github 公共存储库
- java - 带有 BusyBox 消息的 docker jdk alpine 8 上的 Spring 微服务
- javascript - 打印到包含 javascript 实时绘图的 pdf jupyter notebook
- sql - SQL - 将 INT 转换为日期