I';我无法连接到javascript mqtt服务器
WebSocket错误:网络错误12031,与服务器的连接已重置 我想从UI订阅mqtt消息。我正在使用以下代码。我的机器上运行着mosquitto代理,所以我给了url作为我的IP,它正在监听端口号1883,我给了一些随机的客户端IDI';我无法连接到javascript mqtt服务器,javascript,mqtt,Javascript,Mqtt,WebSocket错误:网络错误12031,与服务器的连接已重置 我想从UI订阅mqtt消息。我正在使用以下代码。我的机器上运行着mosquitto代理,所以我给了url作为我的IP,它正在监听端口号1883,我给了一些随机的客户端ID <!DOCTYPE html> <html lang="en"> <head></head> <body> <script src="../bower_comp
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<script src="../bower_components/jquery/dist/jquery.min.js"></script>
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../paho.javascript-1.0.1/mqttws31-min.js"></script>
<script src="../paho.javascript-1.0.1/mqttws31.js"></script>
<script src="../js/browserMqtt.js"></script>
<script>
// Create a client instance
client = new Paho.MQTT.Client("10.9.177.110", 1883, "100");
// set callback handlers
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;
// connect the client
client.connect({onSuccess:onConnect});
// called when the client connects
function onConnect() {
console.log("onConnect");
client.subscribe("/World");
message = new Paho.MQTT.Message("Hello");
message.destinationName = "/World";
client.send(message);
}
// called when the client loses its connection
function onConnectionLost(responseObject) {
if (responseObject.errorCode !== 0) {
console.log("onConnectionLost:"+responseObject.errorMessage);
}
}
// called when a message arrives
function onMessageArrived(message) {
console.log("onMessageArrived:"+message.payloadString);
}
</script>
</body>
</html>
//创建一个客户端实例
客户=新Paho.MQTT.client(“10.9.177.110”,1883,“100”);
//设置回调处理程序
client.onConnectionLost=onConnectionLost;
client.onMessageArrived=onMessageArrived;
//连接客户端
connect({onSuccess:onConnect});
//当客户端连接时调用
函数onConnect(){
控制台日志(“onConnect”);
客户。认购(“/世界”);
message=new Paho.MQTT.message(“Hello”);
message.destinationName=“/World”;
客户端。发送(消息);
}
//当客户端失去连接时调用
函数onConnectionLost(响应对象){
if(responseObject.errorCode!==0){
日志(“onConnectionLost:+responseObject.errorMessage”);
}
}
//消息到达时调用
函数onMessageArrived(消息){
log(“onMessageArrived:+message.payloadString”);
}
能否确认您正在运行启用WebSockets的Mosquito版本?您正在尝试连接到哪种类型的代理?除了IBM MessageSight设备之外,我不知道还有任何其他代理可以通过WebSocket为本机MQTT和MQTT共享同一端口
由于端口1883传统上用于本机MQTT,您是否记得通过WebSocket为MQTT添加新的侦听器
假设您使用的是MOSQUITO 1.4.x,那么您需要在配置文件中添加如下内容:
listerner 1884
protocol websockets
这将在端口1884上添加一个Websocket侦听器如果我在主机前面加上tcs/ws/https/http,它会给出错误消息Websocket error:Network error 12005,URL无效,使用的是与我在JAVAIam使用MQTT v3.1 Brokern时使用的相同的mosquitto代理,而不是MQTT协议版本,而是mosquitto的实际发布版本。Websocket支持是在1.4流中添加的,需要在配置文件中启用,如上所述。我查找了mosquitto配置文件,并根据建议添加了以下#port 1884#protocol Websocket仍然是相同的问题启动带有#的行是一个注释,因此不会做任何事情。您需要添加我在上面建议的部分,您能告诉我如何检查代理是否支持WebSocket吗运行“mosquitto--version”将打印版本V3.1是代理版本在mosquitto配置文件中进行建议的更改,现在得到以下错误WebSocket错误:网络错误12029,无法建立与服务器的连接