例子
local xfxPluginPath = 'xfxPlugin-release.apk' -- 读取RC资源文件
local xfxModule = require('lib/XfxPlugin')
local XFX = xfxModule:new({
apkPath = xfxPluginPath,
preloadOps = {'stringOps', 'timeOps'}, -- 可选
})
-- 获取屏幕信息
local screenOps = XFX:getOps('screenOps')
local screenWidth = screenOps.getScreenWidth()
local screenHeight = screenOps.getScreenHeight()
print('屏幕宽度: ' .. tostring(screenWidth))
print('屏幕高度: ' .. tostring(screenHeight))
-- 获取设备信息
local deviceOps = XFX:getOps('deviceOps')
local deviceID = deviceOps.getAndroidID()
print('设备ID: ' .. tostring(deviceID))
-- 打开浮窗日志,方便观察 MQTT 状态
XFX:showFloatLogWindow({
left = math.floor(screenWidth / 2),
top = math.floor(screenHeight / 4),
width = math.floor(screenWidth / 2),
height = math.floor(screenHeight / 6),
isShowProgressBar = true,
isBottomInfo = true,
isControlBtn = true,
})
XFX:setFloatLogTitle('XFX MQTT Demo')
XFX:setFloatLogInfo('准备连接 MQTT...')
-- 初始化 MQTT 客户端(使用 ws://xxxxxxxx:8085/mqtt)
XFX:initMqttClient({
protocol = 'ws://',
host = 'xxxxxxxx',
port = 8085,
path = '/mqtt',
clientId = 'Android_'..deviceID, -- 为空则自动生成
username = 'feiYun', -- 按你自己的 EMQX 配置
password = 'testPass',
keepAliveInterval = 60,
maxReconnectAttempts = -1,
baseReconnectDelayMs = 1000,
maxReconnectDelayMs = 30000,
isAsyncConnect = true,
cleanSession = true,
-- 遗嘱消息
willTopic = 'client/lastwill',
willPayload = 'client offline',
willQos = 1,
willRetained = false,
onConnected = function()
XFX:logs('MQTT 已连接')
XFX:setFloatLogInfo('MQTT 已连接,开始订阅与发布...')
-- 连接成功后订阅一个主题并发一条消息
XFX:mqttSubscribe('test/topic', 1)
XFX:mqttPublish('test/topic', 'Hello MQTT From LazyMan', 1, false)
end,
onConnectionLost = function()
XFX:logw('MQTT 连接断开: ' .. tostring(XFX:getLastMqttError()))
XFX:setFloatLogInfo('MQTT 连接已断开,等待自动重连...')
end,
onMessage = function(msgJson)
XFX:logi('收到 MQTT 消息: ' .. tostring(msgJson))
end,
onDeliveryComplete = function()
XFX:logd('MQTT 消息发送完成')
end,
})
-- 发起连接
XFX:mqttConnect()
-- 运行一段时间后关闭(示例)
sleep(30000)
XFX:mqttDisconnect()
XFX:mqttClose()
XFX:closeFloatLog()
EMQX后台显示效果


安卓显示效果

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】小飞侠插件专题——企业级MQTT长连接websocket实时通信
飞云脚本圈: 586333520

Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】小飞侠插件专题——企业级MQTT长连接websocket实时通信