首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从MQTT javascript客户端连接到Mosquitto?

如何从MQTT javascript客户端连接到Mosquitto?
EN

Stack Overflow用户
提问于 2019-01-12 16:09:45
回答 2查看 2K关注 0票数 0

控制台浏览器中的错误日志:

"WebSocket连接到'ws://127.0.0.1:1883/mqtt‘失败: WebSocket握手时出错: net::ERR_CONNECTION_RESET“

我的代码.js将蚊子连接到服务器:

代码语言:javascript
复制
var options = {
            clientId: 'web-client',
            connectTimeout: 5000,
            hostname: '127.0.0.1',
            port: 1883,
            path: '/mqtt'
        };

var client = mqtt.connect(options);
  • 使用库mqtt-2.9.0.js
  • 使用蚊子v1.5.4 windows10

=========================================

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-12 18:34:56

默认情况下,莫斯基托监听1883端口并接受使用本机MQTT的连接

如果您想通过Websockets与MQTT连接,则需要配置Mosquitto在另一个端口上侦听并指定使用websockets传输。

可以将以下内容添加到mosquitto.conf中:

代码语言:javascript
复制
listener 8883
protocol websockets

这将导致蚊子在8883端口上监听MQTT的Websockets协议。

然后,您可以按以下方式修改代码:

代码语言:javascript
复制
 var options = {
   clientId: 'web-client',
   connectTimeout: 5000,
   hostname: '127.0.0.1',
   port: 8883,
     path: '/mqtt'
   };

var client = mqtt.connect(options);

还值得指出的是,对于每个连接的客户端,您的clientId必须是唯一的,因此,如果要一次不止一次地加载页面,则需要使其具有动态。

票数 2
EN

Stack Overflow用户

发布于 2019-01-12 17:46:31

1883年是普通MQTT连接的常用端口-- websockets通常的默认设置是端口8883。你试过8883端口吗?

杜尔编辑了我的打字错误8888到8883

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54161371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档