Mosquitto ERR_CONNECTION_REFUSED 在 win 10 上使用 websockets(paho 客户端)
Mosquitto ERR_CONNECTION_REFUSED using websockets (paho client) on win 10
我已经阅读了所有有类似问题的帖子,但找不到答案。
蚊子配置:
listener 1883 127.0.0.1
protocol mqtt
listener 9001 127.0.0.1
protocol websockets
日志输出:
1567705166: mosquitto version 1.6.2 starting
1567705166: Config loaded from C:\Program Files (x86)\mosquitto\mosquitto.conf.
1567705166: Opening ipv4 listen socket on port 1883.
1567705166: Opening websockets listen socket on port 9001.
1567705166: Opening websockets listen socket on port 1883.
Chrome 开发工具:
mqttws31.js:977 WebSocket connection to 'ws://127.0.0.1:9001/mqtt' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
我尝试了很多方法但没有任何帮助:
- 仅尝试 websockets
- 正在尝试另一个端口(1883 和 9001 而不是 8080)
- 关闭Windows防火墙
如果我将配置文件更改为:
#listener 1884 127.0.0.1
#protocol mqtt
#listener 1883 127.0.0.1
protocol websockets
Mosquitto 在端口 1883 上侦听 websockets 但日志文件显示:
1567706943: mosquitto version 1.6.2 starting
1567706943: Config loaded from C:\Program Files (x86)\mosquitto\mosquitto.conf.
1567706943: Opening websockets listen socket on port 1883.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
将配置更改为:
protocol websockets
listener 8080 127.0.0.1
protocol mqtt
给我一个日志文件,上面写着:
1567707450: mosquitto version 1.6.2 starting
1567707450: Config loaded from C:\Program Files (x86)\mosquitto\mosquitto.conf.
1567707450: Opening ipv4 listen socket on port 8080.
1567707450: Opening websockets listen socket on port 1883.
(没有多余的废话)
跟进回答 1 后:
配置:
protocol websockets
listener 1883 127.0.0.1
protocol mqtt
控制台:
WebSocket connection to 'ws://127.0.0.1:1883/mqtt' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET
日志:
1567716915: mosquitto version 1.6.2 starting
1567716915: Config loaded from C:\Program Files (x86)\mosquitto\mosquitto.conf.
1567716915: Opening ipv4 listen socket on port 1883.
1567716915: Opening websockets listen socket on port 1883.
1567716920: New connection from 127.0.0.1 on port 1883.
1567716920: Socket error on client <unknown>, disconnecting.
1567716920: New connection from 127.0.0.1 on port 1883.
1567716920: Socket error on client <unknown>, disconnecting.
5492: Error in poll: No error.
1567715492: Error in poll: No error.
1567715492: Error in poll: No error.
1567715492: Error in poll: No error.
1567715492: Error in poll: No error.
1567715492: Error in poll: No error.
尝试了另一个 websockets 客户端 (https://www.eclipse.org/paho/clients/js/utility/) --> 连接失败:AMQJSC0001E 连接超时。
我无法让 websockets 与任何配置/端口一起工作...
谁能确认 Win10 的 Mosquitto(32 位版本 1.6.2 或 1.6.4)中的 Websockets 是否正常工作?
你的第一个配置文件将无法工作,因为你有本机 MQTT 和 Websockets 都试图在端口 1883 上侦听。(这是因为默认侦听器在端口 1883 上启动),不能 100% 确定这是怎么可能的除非它是 Windows.
上的一些奇怪的 IPv6 东西
第二,只是将默认侦听器协议更改为 Websockets,理论上应该可以工作,假设您尝试从网页连接到端口 1883。
第三个在 Websockets 端口 1883 上创建默认侦听器,在 8080 上创建本机侦听器。假设您正在尝试连接到 1883,应该再次工作
启用 Websockets 的最简单配置应该如下所示:
listener 9001 127.0.0.1
protocol websockets
这将使本机默认侦听器单独留在端口 1883 上(侦听所有接口,在 listener
行之前使用 bind_address 127.0.0.1
使其仅侦听本地主机)并启动 Websocket 侦听器端口 9001
事实证明这是一个很大的挑战。
首先,我尝试使用在线经纪人和客户端来让事情正常进行。还是行不通。然后我切换到另一台电脑,一切正常。
切换回原始计算机后,我决定通过转到 https://www.websocket.org/echo.html 来测试 websockets 是否可以正常工作
从那一刻起,一切都开始起作用了。首先是在线经纪人和客户端,然后是本地服务器和客户端。我不知道为什么...
我已经阅读了所有有类似问题的帖子,但找不到答案。
蚊子配置:
listener 1883 127.0.0.1
protocol mqtt
listener 9001 127.0.0.1
protocol websockets
日志输出:
1567705166: mosquitto version 1.6.2 starting
1567705166: Config loaded from C:\Program Files (x86)\mosquitto\mosquitto.conf.
1567705166: Opening ipv4 listen socket on port 1883.
1567705166: Opening websockets listen socket on port 9001.
1567705166: Opening websockets listen socket on port 1883.
Chrome 开发工具:
mqttws31.js:977 WebSocket connection to 'ws://127.0.0.1:9001/mqtt' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
我尝试了很多方法但没有任何帮助:
- 仅尝试 websockets
- 正在尝试另一个端口(1883 和 9001 而不是 8080)
- 关闭Windows防火墙
如果我将配置文件更改为:
#listener 1884 127.0.0.1
#protocol mqtt
#listener 1883 127.0.0.1
protocol websockets
Mosquitto 在端口 1883 上侦听 websockets 但日志文件显示:
1567706943: mosquitto version 1.6.2 starting
1567706943: Config loaded from C:\Program Files (x86)\mosquitto\mosquitto.conf.
1567706943: Opening websockets listen socket on port 1883.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
1567706943: Error in poll: No error.
将配置更改为:
protocol websockets
listener 8080 127.0.0.1
protocol mqtt
给我一个日志文件,上面写着:
1567707450: mosquitto version 1.6.2 starting
1567707450: Config loaded from C:\Program Files (x86)\mosquitto\mosquitto.conf.
1567707450: Opening ipv4 listen socket on port 8080.
1567707450: Opening websockets listen socket on port 1883.
(没有多余的废话)
跟进回答 1 后:
配置:
protocol websockets
listener 1883 127.0.0.1
protocol mqtt
控制台:
WebSocket connection to 'ws://127.0.0.1:1883/mqtt' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET
日志:
1567716915: mosquitto version 1.6.2 starting
1567716915: Config loaded from C:\Program Files (x86)\mosquitto\mosquitto.conf.
1567716915: Opening ipv4 listen socket on port 1883.
1567716915: Opening websockets listen socket on port 1883.
1567716920: New connection from 127.0.0.1 on port 1883.
1567716920: Socket error on client <unknown>, disconnecting.
1567716920: New connection from 127.0.0.1 on port 1883.
1567716920: Socket error on client <unknown>, disconnecting.
5492: Error in poll: No error.
1567715492: Error in poll: No error.
1567715492: Error in poll: No error.
1567715492: Error in poll: No error.
1567715492: Error in poll: No error.
1567715492: Error in poll: No error.
尝试了另一个 websockets 客户端 (https://www.eclipse.org/paho/clients/js/utility/) --> 连接失败:AMQJSC0001E 连接超时。
我无法让 websockets 与任何配置/端口一起工作... 谁能确认 Win10 的 Mosquitto(32 位版本 1.6.2 或 1.6.4)中的 Websockets 是否正常工作?
你的第一个配置文件将无法工作,因为你有本机 MQTT 和 Websockets 都试图在端口 1883 上侦听。(这是因为默认侦听器在端口 1883 上启动),不能 100% 确定这是怎么可能的除非它是 Windows.
上的一些奇怪的 IPv6 东西第二,只是将默认侦听器协议更改为 Websockets,理论上应该可以工作,假设您尝试从网页连接到端口 1883。
第三个在 Websockets 端口 1883 上创建默认侦听器,在 8080 上创建本机侦听器。假设您正在尝试连接到 1883,应该再次工作
启用 Websockets 的最简单配置应该如下所示:
listener 9001 127.0.0.1
protocol websockets
这将使本机默认侦听器单独留在端口 1883 上(侦听所有接口,在 listener
行之前使用 bind_address 127.0.0.1
使其仅侦听本地主机)并启动 Websocket 侦听器端口 9001
事实证明这是一个很大的挑战。
首先,我尝试使用在线经纪人和客户端来让事情正常进行。还是行不通。然后我切换到另一台电脑,一切正常。
切换回原始计算机后,我决定通过转到 https://www.websocket.org/echo.html 来测试 websockets 是否可以正常工作 从那一刻起,一切都开始起作用了。首先是在线经纪人和客户端,然后是本地服务器和客户端。我不知道为什么...