问题描述:
前端使用websocket访问mqtt,报错如下:
Uncaught Error: AMQJS0011E Invalid state not connected.
前端报错截图:
尝试使用tcping端口:
使用图形界面连接失败:
emqtt启动命令如下:
docker run --rm -d --name emqx -p 18083:18083 -p 1883:1883 emqx/emqx:latest
解决方式:
1.最先想到的是端口,因为没有ping端口返回结果,所以在服务器端开发端口如下(部分原因,需要开放):
firewall-cmd --zone=public --add-port=8083/tcp --permanent
firewall-cmd --reload
2.问题的根因,是启动emqtt docker的时候,没有做8083的端口映射,解决方式是修改启动端口
docker run --rm -d --name emqx -p 18083:18083 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 emqx/emqx:latest
3.最后,正常情况下是可以通过界面的方式连接websocket的,js也能连上mqtt