mosquitto1.4 websocket js客户端测试
时间:2015-03-11 17:14:08
收藏:1
阅读:8327
首先先上个效果图:
端口跟地址自己修改,可以在config.js里面配置后再html里面去调用。
html的代码:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Mosquitto Websockets</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="mqttws31.js" type="text/javascript"></script> <script src="jquery.min.js" type="text/javascript"></script> <script src="config.js" type="text/javascript"></script> <script type="text/javascript"> var mqtt; var reconnectTimeout = 2000; function MQTTconnect() { mqtt = new Paho.MQTT.Client( "服务器地址", 9001, "web_" + parseInt(Math.random() * 100, 10)); var options = { timeout: 3, useSSL: useTLS, cleanSession: cleansession, onSuccess: onConnect, onFailure: function (message) { $('#status').val("Connection failed: " + message.errorMessage + "Retrying"); setTimeout(MQTTconnect, reconnectTimeout); } }; mqtt.onConnectionLost = onConnectionLost; mqtt.onMessageArrived = onMessageArrived; if (username != null) { options.userName = username; options.password = password; } console.log("Host="+ host + ", port=" + port + " TLS = " + useTLS + " username=" + username + " password=" + password); mqtt.connect(options); } function onConnect() { $('#status').val('Connected to ' + host + ':' + port); // Connection succeeded; subscribe to our topic mqtt.subscribe(topic, {qos: 0}); $('#topic').val(topic); } function onConnectionLost(response) { setTimeout(MQTTconnect, reconnectTimeout); $('#status').val("connection lost: " + responseObject.errorMessage + ". Reconnecting"); }; function onMessageArrived(message) { var topic = message.destinationName; var payload = message.payloadString; $('#ws').prepend('<li>' + topic + ' = ' + payload + '</li>'); }; function button_onclick(){ //这里写你要执行的语句 var tp = $('#sendtopic').val(); var val = $('#textsend').val(); if(tp==''||val=='') { alert("no aaa"); return; } var message = new Paho.MQTT.Message(val); message.destinationName = tp; message.qos=0; mqtt.send(message); // mqtt.publish(tp, 0, val); $('#ws').prepend('<li>' + tp + ' = ' + val+ '</li>'); }; $(document).ready(function() { MQTTconnect(); }); </script> </head> <body> <h1>Mosquitto Websockets</h1> <div> <div>Subscribed to <input type='text' id='topic' disabled /> Status: <input type='text' id='status' size="80" disabled /> </br> publish to <input type='text' id='sendtopic' /> text <input type='text' id='textsend' size="80"/> Status: <input type='button' value="send" id='btn' onclick="javascript:button_onclick()"/></div> <ul id='ws' style="font-family: 'Courier New', Courier, monospace;"></ul> </div> </body> </html>
算了 还有几个js 直接打包吧:http://download.csdn.net/detail/a358763471/8491993
评论(3)
sunny315
2015-08-31 22:24:14
你好,为什么我的运行出现错误?连接错误:Connection failed: AMQJS0007E Socket error:undefined.Retrying ,求指导,谢谢!
wyq
2016-04-09 23:40:31
sunny315
你好,为什么我的运行出现错误?连接错误:Connection failed: AMQJS0007E Socket error:undefined.Retrying ,求指导,谢谢!
请问你的问题解决了没有???求教
sqsqsq
2017-04-07 17:10:25
wyq
请问你的问题解决了没有???求教
因为你的mosquitto在安装的时候没有编译支持websocket,而mosquitto是默认不支持websocket的,他的默认端口是1883,所以web端连接不上,在安装的时候编译好了之后端口才是9001
共3条