我正在尝试使用具有无线连接的笔记本电脑连接到 MQTT Mosquitto 服务器。但是,我总是收到超时消息。经过一番研究,我认为这个问题与关闭端口 1883(未加密的 MQTT 通信)有关。我还找到了一个网站来测试与使用 HiveMQ 的 MQTT 代理的连接性(http://www.hivemq.com/demos/websocket-client/) 每当我输入用户和密码时,它就会在其他设备中运行。
因此,我在 Windows Defender 防火墙中打开了入站规则,如https://www.youtube.com/watch?v=xMGPyZtdP00或http://www.bytesofgigabytes.com/networking/how-to-open-port-in-windows/。
不幸的是,端口仍然没有打开,每当我在 mqtt 网页端设置用户和密码时,我都会收到“连接失败:AMQJSC0001E 连接超时。”消息。我的操作系统是 Windows 10,笔记本电脑是 HP ProBook 440。运行 netstat -a 也显示端口 1883 未打开。
TCP 0.0.0.0:135 DESKTOP-XXXXXXXXXX LISTENING
TCP 0.0.0.0:445 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:902 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:912 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:5040 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:49664 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:49665 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:49666 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:49667 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:49668 DESKTOP-XXXXXXXXX LISTENING
TCP 0.0.0.0:49669 DESKTOP-XXXXXXXXX LISTENING
你知道将会发生什么吗?
答案1
- 您是否修改了 MQTT 监听端口?
- 如果您的防火墙阻止了传入连接,那么您的 MQTT 连接也会被拒绝。要解除防火墙对传入连接的阻止,请按照以下步骤操作,直至步骤 5。
来源:防火墙阻止传入连接
- 为了更好地理解如何阻止所有传入连接,这里考虑了两台计算机或系统。在这里,我们将阻止 IP 地址为 192.168.1.65 的计算机的所有传入连接。由于 IP 地址 192.168.1.65 的传入连接未被阻止,因此当您尝试连接 192.168.1.65 IP 地址时,您将轻松连接。当特定系统的传入连接未被阻止时,如果您 ping 到该特定系统,您将从该特定系统获得 ping 回复,如下图所示。
要阻止所有传入连接,请按下计算机的 Windows+R。
在打开字段中输入firewall.cpl,然后单击确定。
- 单击打开或关闭 Windows Defender 防火墙
- 如果勾选“阻止所有私有和公共网络的传入连接”,则其他计算机将无法连接到您的系统。如果不勾选“阻止所有私有和公共网络的传入连接”,则其他计算机可以连接到您的系统。