完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好。我认为我在 MQTT Lua 模块中发现了内存泄漏。此泄漏的确切大小为 112 字节。当 ESP 尝试重新连接到 MQTT 代理时,它正在发生。每次连接尝试消耗 112 字节,这些字节永远不会被释放。为什么会这样?我在下面粘贴示例代码。谢谢你的帮助。
代码:全选local m = nil local mqttReconnecttimer = tmr.create() local function handle_mqtt_error(client, reason) client:close() mqttReconnectTimer:start() end local function handle_mqtt_connect(client) client:on("offline", handle_mqtt_error) client:on("message", messageArrived) client:lwt(config.MQTT['lw_topic'],config.MQTT['lw_message'],config.MQTT['qos'],0) publishData(client,"data") end local function mqtt_connect(client) print("connecting "..node.heap()) client:close() client:connect(config.MQTT["ip"], config.MQTT["port"],config.MQTT["tls"], 0, handle_mqtt_connect, handle_mqtt_error) end function module.start() m = mqtt.Client(config.ID, config.MQTT['keepalive'], config.MQTT['user'], config.MQTT['pwd']) mqttReconnectTimer:register(1000, tmr.ALARM_SEMI, function() mqtt_connect(m) end) mqttReconnectTimer:start() end |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
733 浏览 1 评论
552浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
445浏览 5评论
446浏览 4评论
417浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 01:16 , Processed in 0.766710 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号