gpt4 book ai didi

javascript - 将 MQTTNet 服务器与 MQTT.js 客户端一起使用

转载 作者:可可西里 更新时间:2023-11-01 02:46:07 25 4
gpt4 key购买 nike

我已经启动了一个 MQTT 服务器,就像 this例子。此代码托管在 ASP.Net Core 2.0 应用程序中,但我尝试过控制台应用程序但没有成功。

我还使用与上述相同的演示设置了一个客户端,并且连接完美。 Android 客户端也可以正常连接。但是我已经放置了一个 MQTT.js 客户端网页,但它无法连接到显示 net::ERR_CONNECTION_REFUSED 错误的 chrome。

我认为问题在于服务器不支持网络套接字。因为如果我用 WS 类型启动我的客户端,它将无法连接。

var options = new MqttClientOptions
{
Server = "localhost",
//ConnectionType = MqttConnectionType.Tcp // Connects
ConnectionType = MqttConnectionType.Ws // Does not connect
};

现在 MQTT.js 支持 TCP this link正在讲述。但我似乎无法使用它。

这是我页面 javascript 中的代码:

var client = mqtt.connect('tcp://localhost') //Also did mqtt://localhost

client.on('connect', function () {
client.subscribe('myTopic')
client.publish('myTopic', 'Hello mqtt')
})

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

我想知道如何让 javascript MQTT 客户端使用 TCP? (可能还有其他 js 插件吗?)或者如何在 MQTTNet 中启用 WebSockets。感谢您的帮助。

最佳答案

MQTT.js 确实支持原生 MQTT 和 MQTT over Websockets,但是如果您将它嵌入到网络应用程序中,它只能使用 MQTT over Websockets,因为浏览器沙箱不允许它使用任意 TCP 连接。

至于在代理中启用 Websockets,我在代码中看不到任何明显的内容,因此您可能不得不针对 github 项目提出问题并提出问题以询问详细信息。

关于javascript - 将 MQTTNet 服务器与 MQTT.js 客户端一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46547658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com