Mosquitto:以仅本地模式启动
我有一个应该是主机的虚拟机,它可以接收和发送数据。第一张图片是我在我的主机上遇到的错误(我试图从中发送数据)。第二张图是我虚拟机上的mosquitto登录。此外,我正在使用默认配置,据我所知,这不会导致这些问题,至少从我从其他示例中看到的情况来看。我对所有这些工作原理知之甚少,因此感谢您的帮助。
我在主机上尝试过的:
- 禁用 Windows Defender
- 为“mosquitto.exe”添加防火墙规则
- 在 Linux 机器上安装 mosquitto
回答
从 Mosquitto 2.0.0 版(您正在运行 v2.0.2)开始,默认配置将仅绑定到localhost更安全的默认状态。
如果您希望能够从其他机器访问代理,您将需要显式编辑配置文件以添加一个listener绑定到外部 IP 地址(或 0.0.0.0)的新文件或bind为默认侦听器添加一个条目。
默认情况下,它也只允许来自 localhost 的匿名连接(没有用户名/密码),以允许来自远程添加的匿名:
allow_anonymous true
可以在此处的 2.0 发行说明中找到更多详细信息
- It really just the case of adding either `bind_interface device` or `bind_address ip_address` to the config file.
回答
你必须跑
mosquitto -c mosquitto.conf
mosquitto.conf 存在于与执行文件相同的文件夹中(C:Program Filesmosquitto 等),必须包含以下行。
listener 1883 ip_address_of_the_machine(192.168.1.1 etc.)