我想将数据从 Ubuntu VM 发布到 Windows 10 主机。
在 Ubuntu VM 端,我在 /usr/share/doc/mosquitto/examples 路径中编辑了 mosquitto.conf 文件,其中提到了更改
> allow_anonymous true
> bind_address 0.0.0.0 / ::
> listener 1883 172.16.1.153 (IP of my host machine)
我在 C:\Program Files\mosquitto 的主机上编辑了 mosquitto.conf 并进行了以下更改
> listener 1883 172.16.1.219
> allow_anonymous true
我仍然无法连接到远程服务器。
PS:两台机器都能ping通
Windows 10:
Ubuntu:
答案 0 :(得分:1)
首先
在命令行上手动启动 mosquitto 不会读取任何配置文件,除非使用 -c
参数明确告知。例如
mosquitto -c /usr/share/doc/mosquitto/examples/mosquitto.conf`
在 Ubuntu 上,活动配置文件位于 /etc/mosquitto/mosquitto.conf
,仅当您使用 systemd 服务文件时才使用(使用 service mosquitto start
启动服务。
同样在 Windows 上,如果您将 mosquitto 作为 Windows 服务运行,则默认情况下只会读取 C:\Program Files\mosquitto\mosquitto.conf
中的配置文件。只在命令行上运行它而不指定配置文件只会加载内置的默认值。
地址已经使用错误意味着您已经在两台机器上运行 mosquitto 作为服务的实例,并且可能需要重新启动这些服务以获取对配置文件的更改(假设您在 Ubuntu 上编辑了正确的文件)< /p>
第二
如果您只想将消息发布到主机,则无需在 Ubuntu VM 上运行 mosquitto 代理的实例。您可以只使用 MQTT 客户端并直接发布到 Windows 机器上的(正确配置的)代理。