js 连接mqtt
js连接mqtt
项目中要用到mqtt,前端调用,使用github开源的paho-mqtt.js,api还是挺全面的,网上各种教程很全面,但是感觉代码过于杂乱,故而封装的一下。仿jquery ajax调用方法。
首先本项目依赖 paho-mqtt.js
1.引用paho-mqtt.js
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script>
2.引用封装的 MqttX.js(源代码点击查看)
3.开始调用初始化方法
mqttX.init({
id:'10',
ip:'47.92.127.210',
port:61623,
success:function(){
console.log("mqttx连接成功");
mqttX.subscribe('vp1');
},
error:function(){
console.log("mqttx连接失败");
},
connectLost:function(){
console.log("mqttx连接丢失");
},
onMessage:function(message){
console.log("mqttx",message);
}
});
参数列表
| 参数 | 是否必须 | 默认 | 说明 |
|---|---|---|---|
| id | 必须 | 0 | mqtt客户端id |
| ip | 必须 | 127.0.0.1 | mqtt服务端ip地址 |
| port | 必须 | 61623 | mqtt服务端ws端口号 |
| success | 非必须 | 无 | 连接成功回调 |
| error | 非必须 | 无 | 连接失败回调 |
| connectLost | 非必须 | 无 | 连接断开回调 |
| onMessage | 非必须 | 无 | 消息通知 |
4.其他方法
1.订阅主题
//订阅主题
mqttX.subscribe(topic,[qos]);
参数列表
| 参数 | 是否必须 | 默认 | 说明 |
|---|---|---|---|
| topic | 必须 | 无 | 主题 |
| qos | 非必须 | 0 | 订阅主题的qos |
返回类型:boolean
2.取消订阅
//取消订阅主题
mattX.unsubscribe(topic);
参数列表
| 参数 | 是否必须 | 默认 | 说明 |
|---|---|---|---|
| topic | 必须 | 无 | 主题 |
返回类型:boolean
3.重新连接
//重新连接
mattx.reconnect();
参数列表
- 无参数
返回类型:boolean
4.发送消息
//发送消息
mattx.sendMessage(topic,obj);
参数列表
| 参数 | 是否必须 | 默认 | 说明 |
|---|---|---|---|
| topic | 必须 | 无 | 主题 |
| obj | 必须 | 无 | 发送的信息 |
返回类型:boolean
js 连接mqtt的更多相关文章
- Node.js连接Mysql,并把连接集成进Express中间件中
引言 在node.js连接mysql的过程,我们通常有两种连接方法,普通连接和连接池. 这两种方法较为常见,当我们使用express框架时还会选择使用中间express-myconnection,可以 ...
- Node.js 连接 MySQL 并进行数据库操作
Node.js 连接 MySQL 并进行数据库操作 按照这篇操作mysql的指引,我远程操作了我另一台电脑的mysql数据库. var mysql = require('mysql'); var c ...
- Node.js连接MySQL数据库及构造JSON的正确姿势
做一下整理,以前也很随意的引入包链接数据库,后来发现常常连接出问题,异常退出,后来使用在网上一个方法解决问题,网址由于书签丢失,抱歉不能引用了.再有就是简单的模块化下,使得目录合理点,再有就是说明一下 ...
- (一)基于阿里云的MQTT远程控制(Android 连接MQTT服务器,ESP8266连接MQTT服务器实现远程通信控制----简单的连接通信)
如果不了解MQTT的可以看这篇文章 http://www.cnblogs.com/yangfengwu/p/7764667.html http://www.cnblogs.com/yangfengw ...
- node.js连接MySQL操作及注意事项
node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是nod ...
- 获取js连接参数js_args
获取js连接参数,如下以链接: <script src="js/jscript.js?skin=green" type="text/javascript" ...
- 【js学习】js连接RabbitMQ达到实时消息推送
js连接RabbitMQ达到实时消息推送 最近在自己捯饬一个网站,有一个功能是需要后端处理完数据把数据发布到MQ中,前端再从MQ中接收数据.但是前端连接MQ又成了一个问题,在网上搜了下资料,点进去一篇 ...
- Windows 7 下 Node.js 连接 Oracle
原创作者: sailtseng 1. 安装 Oracle 11g express 详见: <Windows 7 x64 安装 Oracle 11g Express> 2. 安装 Micr ...
- ESA2GJK1DH1K基础篇: Android连接MQTT简单的Demo
题外话 我老爸也问我物联网发展的趋势是什么!!!!!! 我自己感觉的:(正在朝着 "我,机器人" 这部电影的服务器方向发展) 以后的设备都会和服务器交互,就是说本地不再做处理,全部 ...
随机推荐
- 当Django中Debug=False,静态文件处理方式。
Django设置DEBUG为False时,'django.contrib.staticfiles'会关闭,即Django不会自动搜索静态文件,静态文件不能加载导致的问题有两个: 1.页面排版不正常,即 ...
- canvas 填充图片
画一个更骚气的圆 https://juejin.im/post/5781d0495bbb500061fd683d
- 请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
这是牛客网上的一道题~ 题意:遇到重复元素就删除(留下第一个不重复的即可). 解题思路:双循环一遍数组,arr[i] == arr[j] 成立时,删除 arr[j],并将 arr[j] 直接push到 ...
- spring3-struts2整合
spring 负责对象创建 struts 用Action处理请求 说明: spring版本:spring-framework-3.2.5.RELEASE struts版本:struts-2.3. ...
- SQL-函数-014
SQL中函数的种类: 聚合函数.数学函数.字符串函数.时间函数.元数据函数 聚合函数: sum():求和函数 select SUM(Admin.age) as Age from Admin max() ...
- CRC16 的生成及校验原理
参考:https://blog.csdn.net/niepangu/article/details/45499383 计算CRC的过程,就是用一个特殊的“除法”,来得到余数,这个余数就是CRC. 它不 ...
- Git 基础和原理
Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 Git 的时候,请努力分清你对其它版本管理系统的已 ...
- tcpdf 将网页生成pdf
需求:需要将HTML页面生成PDF文档 开发语言:PHP 使用TCPDF第三方类库进行生成,下载地址:http://sourceforge.net/projects/tcpdf/ 核心代码: publ ...
- redhat 开课啦
今天是三八女神节. 终于开课啦,为考取RHCE准备.
- AsyncTask 的 get post 封装
1.get方法的封装AsyncTask public class DBUTil2 { public static interface Succee{ void onSuccee(String resu ...