NodeMCU lua函数"conn"。

我有一个可能有点奇怪的问题,但我需要知道这个问题的答案。我正在创建一个 Lua 脚本来连接 esp8266 和我的 mqtt 代理。示例脚本非常简单。

 m = mqtt.Client("clientid", 120, "user", "password")

m:lwt("/lwt", "offline", 0, 0)

m:on("connect", function(con) print ("connected") end)
m:on("offline", function(con) print ("offline") end)

m:on("message", function(conn, topic, data)
  print(topic .. ":" )
  if data ~= nil then
    print(data)
  end
end)

m:connect("192.168.11.118", 1880, 0, function(conn)
    print("connected")
end)

m:subscribe("/topic",0, function(conn)
    print("subscribe success")
end)

m:publish("/topic","hello",0,0, function(conn)
    print("sent")
end)

m:close();

但是…有一件事我搞不明白。那就是“con”和“conn”参数?它看起来像一个实例或其他东西,但没有这样的定义。有人可以为我解释一下吗?

点赞
用户2969217
用户2969217

文档中可以找到客户端on()方法注册一个回调,第一个参数是客户端本身。为了您的方便(以防链接失效),我在下面复制了相关信息:

mqtt.client:on()

描述

注册对事件的回调函数。

语法

mqtt:on(event, function(client, [topic], [message]))

参数

event

字符串,可以是:"connect","message","offline"。

function(client, [topic], [message])

回调函数。第一个参数是客户端。 如果事件是"message",第二个和第三个参数是接收到的主题和消息字符串。

返回值

nil。

2015-08-24 13:22:37