javascript-mqtt
js client使用paho-mqtt,官网地址:http://www.eclipse.org/paho/,参考http://www.eclipse.org/paho/clients/js/官网给出例子Getting Started,写出下面简单的测试代码。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Centos7 mosquitto test</title><script src="jquery-3.2.1.min.js"></script><script src="paho-mqtt-min.js"></script><script type="text/javascript">var hostname = "csxyz.xyz"; //主机IP 106.14.181.32var hostPort = 9001; //portvar sub_count = 0;var client;function MQTTconnect() { client = new Paho.MQTT.Client(hostname, hostPort, "test"); client.onMessageArrived = onMessageArrived; client.connect({onSuccess:onConnect}); console.log("Host="+ hostname + ", port=" + hostPort);};// called when the client connectsfunction onConnect() { console.log("onConnect succeeds");// client.subscribe('topic'); client.subscribe('#'); //订阅所有主题}// called when a message arrivesfunction onMessageArrived(message) { var topic = message.destinationName; var payload = message.payloadString; console.log("onMessageArrived:" + payload); sub_count++; $('#sub_count').val('收到订阅' + sub_count + '条'); $('#sub_message').prepend('<li>' + topic + ' = ' + payload + '</li>');}function button_onclick(){ var topic = $('#topicsend').val(); var text = $('#textsend').val(); if(topic=='' || text=='') { alert("noTopic or noText"); return; } var message = new Paho.MQTT.Message(text); message.destinationName = topic; message.qos=0; client.send(message);};$(document).ready(function() { MQTTconnect();});</script></head><body><h1>mosquitto pub</h1>topic:<input type='text' id='topicsend' size="60"/> <br>text :<input type='text' id='textsend' size="60"/> <input type='button' value="send" id='btn' onclick="button_onclick()"/></br><h1>mosquitto sub</h1><input type='text' id='sub_count' disabled /><ul id='sub_message' ></ul></body></html> |
html在本地运行,测试结果:

在censtos的apache空间根目录下创建文件夹iot,将index.html和需要包含的js文件拷贝过去,使用浏览器打开csxyz.xyz/iot,也可以得到上面的结果。注意,文件上传的时候是在root用户下,需要更改权限,否则运行会报错的。
javascript-mqtt的更多相关文章
- javascript mqtt 发布订阅消息
js client使用paho-mqtt,官网地址:http://www.eclipse.org/paho/,参考http://www.eclipse.org/paho/clients/js/官网给出 ...
- 使用 WebSocket 客户端连接 MQTT 服务器
简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用. WebSock ...
- getting-started-with-mqtt
来自:https://dzone.com/refcardz/getting-started-with-mqtt SECTION 1 Why MQTT? The Internet of Things ( ...
- 未读消息(小红点),前端与 RabbitMQ实时消息推送实践,贼简单~
前几天粉丝群里有个小伙伴问过:web 页面的未读消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢. 之前在 <springboot ...
- 使用javascript连接mqtt协议(自动重连问题)
因为之前是在rabbitmq的插件"RabbitMQ Web MQTT plugin "中看到使用了mqttws31.js的实例,由于对mqttws31不了解,网上下载了连接成功, ...
- JavaScript使用MQTT
1.MQTT Server使用EMQTTD开源库,自行安装配置: 2.JS使用Websocket连接通信. 3.JS的MQTT库为paho-mqtt,git地址:https://github.com/ ...
- TCP/IP, WebSocket 和 MQTT
按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP和MQTT是应用层的协议.在这三者之间, TCP是HTTP和MQTT底层的协议.大家对HTTP很熟悉,这里简要介绍下MQTT.M ...
- MQTT 消息 发布 订阅
当连接向一个mqtt服务器时,clientId必须是唯一的.设置一样,导致client.setCallback总是走到 connectionLost回调.报connection reset.调查一天才 ...
- MQTT和WebSocket
严格来说,MQTT跟WebSocket关系不大.他们不是在一个层级的. MQTT和TCP.WebSocket的关系可以用下图一目了然: 参考资料: http://www.zhihu.com/q ...
- 在线聊天室的实现(1)--websocket协议和javascript版的api
前言: 大家刚学socket编程的时候, 往往以聊天室作为学习DEMO, 实现简单且上手容易. 该Demo被不同语言实现和演绎, 网上相关资料亦不胜枚举. 以至于很多技术书籍在讲解网络相关的编程时, ...
随机推荐
- 通过IEnumerable接口遍历数据
使用IEnumerable接口遍历数据,这在项目中会经常的用到,这个类型呢主要是一个枚举器. 1.首先需要让该类型实现一个名字叫IEnumerable的接口,实现该接口的主要目的是为了让当前类型中增加 ...
- LoadRunner接口测试标准模板
Action() { int nHttpRetCode; // 默认最大长度为256,get请求需注意缓存问题,需要根据content-length进行修改 web_set_max_html_para ...
- mock数据的基础使用
一.应用场景 在我们自己做一个项目时,会遇到后端还没完成数据输出或者接口没写好的情况.你没有办法想后台获取数据,这时候需要前端只好自己写静态模拟数据(假数据).mockjs就是用来创造假数据的,他的用 ...
- 虚拟机安装ubuntu18.04及其srs服务器的搭建
第一次写博客,有些地方可能不太完善. 1.安装VMware,我用的是VMware12. 2.下载Ubuntu镜像(自Ubuntu 17.10开始桌面版本不再提供32位安装镜像,Ubuntu Serve ...
- 【读书笔记】iOS-如何推销你的Web应用
1,利用Beta测试来邀请测试者. 2,利用新闻发布. 3,创建Web应用的宣传网站. 4,使用邮件营销. 5,创建YouTube视频教程. 6,提交到苹果Web应用门户. 7,提交到其它Web应用门 ...
- python之成员(面向对象)
1. 成员 在类中你能写的所有内容都是类的成员 class Person: def __init__(self, name, gender): self.name = name # 成员 self.g ...
- Cordova/Ionic开发的Android APP启用Chrome Inspect调试的方法
Cordova/Ionic开发的Android APP,需要启用WebView的调试模式,才可以在Chrome浏览器中输入chrome://Inspect,然后使用大家熟悉的开发者工具进行调试.不启用 ...
- element-ui的回调函数Events的用法
做轮播的时候想用这个change回调函数,但是官方文档上竟然就只列了这么一行东西,完全没有示例代码(也可能我没找到哈) 鼓捣了半天,东拼西凑终于找到了靠谱的使用方法,其实很简单 在轮播组件上加上@ch ...
- Red5视频流服务器安装
一.安装jre JAVA运行时下载地址: https://www.java.com/zh_CN/download/manual.jsp 安装后设置环境变量,变量值是jre的安装路径 二.安装 red5 ...
- 第三章————用SQL语句操作数据
第三章————用SQL语句操作数据 *********************新增**************************** 1. insert into 表名(列名1,列名2...) ...