首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用mqtt.js通过tcp将form javascript连接到代理

无法使用mqtt.js通过tcp将form javascript连接到代理
EN

Stack Overflow用户
提问于 2019-06-10 00:56:50
回答 1查看 1.3K关注 0票数 0

我想用Javascript连接一个MQTT代理,以便订阅一个主题并发布消息。连接需要通过端口1883上的tcp完成。我正在使用MQTT.js库。前端是angularjs。下面的示例是MQTT.js页面中的示例,但无法实现连接。有人能帮帮忙吗?

通过index.html连接:

<script src="../node_modules/mqtt/browserMqtt.js"></script>

连接代码:

var client = mqtt.connect('url.com:1883',{clientId :'client1', clean: true});
client.on('connect', function () {
  console.log("onsubscribe");
  client.subscribe('votingSignals', function (err) {
    if (!err) {
      console.log("onsubscribe");
      client.publish('votingSignals', 'start')
    }
 })
})

client.on('message', function (topic, message) {
  // message is Buffer
  console.log(message.toString())
  client.end()
})

显示的错误为:

到'ws://url.com:1883/‘的

WebSocket连接失败: WebSocket握手期间出错: net::ERR_CONNECTION_RESET

EN

回答 1

Stack Overflow用户

发布于 2019-06-10 02:50:43

在web浏览器中,您只能通过Websockets使用MQTT,而不能使用原生MQTT (通过TCP)。

这是因为浏览器不允许你打开一个普通的套接字。

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

https://stackoverflow.com/questions/56516604

复制
相关文章

相似问题

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