Windows 10下Mosquitto MQTT Broker跨设备连接ECONNREFUSED问题求助
解决跨设备连接Mosquitto MQTT Broker的ECONNREFUSED问题
问题根源
当前Mosquitto配置里的listener 1818仅监听本机回环地址(127.0.0.1),只有本机客户端能建立连接,其他设备无法访问该端口。
修复步骤
1. 修改Mosquitto配置文件
打开mosquitto.conf,将原监听配置替换为以下两种方式之一:
- 监听所有可用网卡(推荐适配多场景):
#default listener listener 1818 0.0.0.0 protocol mqtt
- 监听PC A的指定IP(示例为177.213.175.194):
#default listener listener 1818 177.213.175.194 protocol mqtt
2. 重启Mosquitto服务
根据操作系统执行对应命令:
- Linux系统:
sudo systemctl restart mosquitto
- Windows系统(以管理员身份打开命令提示符):
net stop mosquitto net start mosquitto
3. 开放PC A的防火墙端口
确保防火墙允许1818端口的TCP连接:
- Linux(使用ufw防火墙):
sudo ufw allow 1818/tcp
- Windows:
- 打开「Windows Defender防火墙高级设置」
- 新建「入站规则」,选择「端口」类型,指定TCP端口1818,设置允许连接
4. 验证网络连通性
- 若为局域网跨设备,确认两台设备处于同一网络;若为公网连接,确保PC A的公网IP可被远程设备访问
- 用
telnet 177.213.175.194 1818或nc -zv 177.213.175.194 1818测试端口是否能正常访问
内容的提问来源于stack exchange,提问作者May Yeung
相关产品推荐
相关产品推荐

