javascript - 无法使用 mqtt.js 通过 tcp 将表单 javascript 连接到代理

标签 javascript angularjs tcp mqtt broker

我想使用 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()
})

显示的错误是:

WebSocket connection to 'ws://url.com:1883/' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

最佳答案

从 Web 浏览器中,您只能通过 Websockets 使用 MQTT,而不能使用 native MQTT(通过 TCP)。

这是因为浏览器不允许您打开普通套接字。

关于javascript - 无法使用 mqtt.js 通过 tcp 将表单 javascript 连接到代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56516604/

相关文章:

angularjs - 睾丸 : encountered a declaration exception

c# - 为什么有人喜欢使用 Tcp 协议(protocol)而不是使用基本的 Http 协议(protocol)来托管 WCF?

javascript - 我可以检查 Bootstrap Modal 是否显示/隐藏吗?

javascript - 如何使用 Angularjs 和 Javascript 获取客户端 IP 地址以及语言和国家/地区

javascript - 使用 Ajax 将带有字母数字键的数组发送到 PHP 脚本

go - 运行curl命令时,TCP服务器返回错误

java - Netscaler : sudden ACK, RST数据包

javascript - 通过JS解码UTF-8图像(字符串)

javascript - ng-sortable 在表上。当我拖动一行时,CSS 被抛出

angularjs - ng-model 和 data-ng-model 之间的区别