辛有志身价全国排名
程序连接EMQX服务器
最近在做⼩程序连接物联⽹的项⽬,奈何⽹上资料总是与需求不尽匹配,在不断实验中终于算是成功了,在此稍作记录。
效果展⽰
EMQX服务端配置
主机地址替换为服务器域名,要是没有ICP备案的话就使⽤WS通信,即使⽤8083端⼝,点击上图连接即可。
如果经过了备案,并且获得了SSL证书,可以勾选SSL,此时通过WSS通信,使⽤8084端⼝。
注意:服务器⼀定要放⾏相关端⼝!查看防⽕墙或安全规则确认端⼝打开情况。
如果想使⽤WSS通信,需要如下的额外配置。
EMQX部署证书步骤如下:
在证书颁发⽹站下载xxx.pem和xxx.key⽂件,重命名为cert.pem和key.pem,(.key后缀变更为.pem⽆
妨,其内容不会改变),替换EMQX 安装路径下etc/certs/cert.pem和key.pem。也可以选择更改f中el.keyfile和el.certfile,均需以pem为后缀。
⼩程序域名设置步骤如下:
进⼊公众平台,选择开发管理,开发设置,修改socket合法域名,保留wss://,后⾯不要加端⼝。
之后清除⼩程序缓存,在详情,项⽬配置中可看到更改已⽣效。
⼩程序部分代码
下⾯为mqtt通信相关js代码形容男人
import mqtt from '../../utils/mqtt.min.js';
Page({
/**
* 页⾯的初始数据
*/
data: {
client: 'wxapp',
host: ':8083',
/*
注意这⾥使⽤8083端⼝,按照需求决定是否更改8084。可以直接替换为域名,填写域名绑定的公⽹IP也可。
*/
topic: 'testtopic/miniprogram',
msg: '',
mqttOptions: {
protocolVersion: 4,
clientId: 'wxapp',
clean: true,
password: 'wxapp',//⾃定义,与EMQX服务器配置相同均可
username: 'wxapp',//⾃定义,与EMQX服务器配置相同均可
reconnectPeriod: 1000,
connectTimeout: 30 * 1000,最新农村电视剧
resubscribe: true // 如果连接断开并重新连接,则会再次⾃动订阅已订阅的主题(默认true)
陈玘个人资料历程简介},
},
setHost(e) {
this.setData({
host: e,
})
},
setTopic(e) {
this.setData({
topic: e,
})
},
setMsg(e) {
this.setData({
msg: e,
})
},
connect() {
this.data.client = t(`wx://${this.data.host}/mqtt`, this.data.mqttOptions)
/*
注意上⾯是wx://,使⽤8083端⼝,如果使⽤8084端⼝,需要改为wxs://
*/
this.('connect', () => {
console.log('连接成功')
this.('message', (topic, payload) => {
console.log(`收到 Topic: ${topic}, Payload: ${payload}`)
})
this.('error', (error) => {
console.log('error')
})
this.('reconnect', () => {
console.log('')
})
this.('offline', (errr) => {
console.log('Offline')
})
})
},
disconnect() {
this.d()
this.setData({
btnText: '连接',
})
wx.showToast({
title: '断开连接成功'
})
},
subscribe() {
吴奇隆资料this.data.client.subscribe(pic)
wx.showToast({
title: `主题订阅成功`
})
},
unsubscribe() {
this.data.client.unsubscribe(pic)
wx.showToast({
title: `取消订阅成功`
})
},
publish() {
this.data.client.publish(pic, this.data.msg)
console.log('已发送消息')
},
onLoad: function (options) {
this.subscribe();
},
监察委和纪检委的区别
⼩程序连接EMQX服务器
连接前先为⼩程序创建client端
这⾥我已经新建好了,点击新建⽤户,输⼊⼩程序对应的username和password即可创建。
回到websocket页⾯,应该可以看到⼩程序已经连接了EMQX服务器。
接下来实现EMQX向⼩程序发消息。⾸先点击订阅,(主题要和⼩程序端匹配)⼩程序使⽤上⾯的程序应该完成了连接和订阅testtopic/miniprogram这个主题,点击订阅后实际订阅了所有testtopic下的主题。在消息⾯板中更改主题为testtopic/miniprogram,编辑消息,消息的格式要为json,最后点击发送,应该可以在⼩程序控制台收到发送的消息。⾄于⼩程序如何向EMQX服务端发送消息,在合适的位置使⽤this.public即可。注意发布时接收⽅要订阅相应主题。
以上就是⼩程序连接EMQX服务器的内容了,希望对读者有些许帮助。