这个错误,是由于emqx 已经禁止匿名访问mqtt服务器了,
一种解决办法是修改emqx_conf,允许匿名用户发送消息给mqtt,如下图所示 。
第二种解决办法是: 利用postman软件,新增一个用户,如下图所示。
postman-windows-9.12.2 下载及汉化包_postman 9.12.2汉化包-CSDN博客
EMQ X提供了对应的HTTP API 用以维护内置数据源中的认证信息,我们可以添加/查看/取消/更改认证数据 我们使用postman 添加username以及password, 后续mqtt 的连接都需要此账号 username 认证相关的一些API,也可以在Dashboard -> 工具 -> HTTP 接口 中查看: 新增指定: POST http://localhost:18083/api/v4/auth_username 查找所有: GET http://localhost:18083/api/v4/auth_username 删除指定:DELETE http://localhost:18083/api/v4/auth_username/{username}
上述localhost 指的是mqtt服务器的ip地址,这里以本机为例;
使用postman新增的用户,在emqx 的dashboard面板,websocket发起连接,如下图所示,连接正常。