Ami*_*faq 3 javascript websocket mqtt
我正在尝试基于websocket的简单MQTT客户端,并且在Chrome控制台上出现"Uncaught ReferenceError:Messaging is defined defined"错误.
<!DOCTYPE html>
<head>
<head>
<script src="mqttws31.js" type="text/javascript" charset="utf-8" async defer></script>
<script type="text/javascript">
var client;
var form = document.getElementById("tutorial");
function doConnect() {
var wsbroker = "test.mosquitto.org"; //mqtt websocket enabled broker
var wsport = 80 // port for above
var client = new Messaging.Client(wsbroker, wsport,
"myclientid_" + parseInt(Math.random() * 100, 10));
client.onConnect = onConnect;
client.onMessageArrived = onMessageArrived;
client.onConnectionLost = onConnectionLost;
client.connect({onSuccess:onConnect});
}
function doSubscribe() {
client.subscribe("/World");
}
function doSend() {
message = new Messaging.Message("Hello");
message.destinationName = "/World";
client.send(message);
}
function doDisconnect() {
client.disconnect();
}
// Web Messaging API callbacks
function onConnect() {
var form = document.getElementById("example");
form.connected.checked= true;
}
function onConnectionLost(responseObject) {
var form = document.getElementById("example");
form.connected.checked= false;
if (responseObject.errorCode !== 0)
alert(client.clientId+"\n"+responseObject.errorCode);
}
function onMessageArrived(message) {
var form = document.getElementById("example");
form.receiveMsg.value = message.payloadString;
}
</script>
</head>
<body>
<h1>Example Web Messaging web page.</h1>
<form id="example">
<fieldset>
<legend id="Connect" > Connect </legend>
Make a connection to the server, and set up a call back used if a
message arrives for this client.
<br>
<input type="button" value="Connect" onClick="doConnect(this.form)" name="Connect"/>
<input type="checkbox" name="connected" disabled="disabled"/>
</fieldset>
<fieldset>
<legend id="Subscribe" > Subscribe </legend>
Make a subscription to topic "/World".
<br> <input type="button" value="Subscribe" onClick="doSubscribe(this.form)"/>
</fieldset>
<fieldset>
<legend id="Send" > Send </legend>
Create a Message object containing the word "Hello" and then publish it at
the server.
<br>
<input type="button" value="Send" onClick="doSend(this.form)"/>
</fieldset>
<fieldset>
<legend id="Receive" > Receive </legend>
A copy of the published Message is received in the callback we created earlier.
<textarea name="receiveMsg" rows="1" cols="40" disabled="disabled"></textarea>
</fieldset>
<fieldset>
<legend id="Disconnect" > Disconnect </legend>
Now disconnect this client from the server.
<br> <input type="button" value="Disconnect" onClick="doDisconnect()"/>
</fieldset>
</form>
</body>
</html -->
Run Code Online (Sandbox Code Playgroud)
ERROR在线"var client = new Messaging.Client(wsbroker,wsport,"
错误操作系统"未捕获的ReferenceError:未定义消息"
java脚本来自http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/tree/src/mqttws31.js
请建议任何解决方案......
您正在使用一个旧示例,包名已更改它不再是Messaging应该是:
...
var client = new Paho.MQTT.Client(wsbroker, wsport,
"myclientid_" + parseInt(Math.random() * 100, 10));
...
Run Code Online (Sandbox Code Playgroud)
编辑:test.mosquitto.org的端口号也是8080而不是80
归档时间: |
|
查看次数: |
4361 次 |
最近记录: |