NodeMCU lua 函数 "conn"
NodeMCU lua function "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"参数?它看起来像一个实例或其他东西,但没有定义这样的东西。有人可以给我解释一下吗?
从the docs可以发现客户端的on()
方法注册了一个回调,其中第一个参数是客户端本身。为了您的方便(以防 link 死亡),我复制了以下相关信息:
mqtt.client:开()
描述
向事件注册回调函数。
语法
mqtt:on(event, function(client, [topic], [message]))
参数
event
字符串,可以是:"connect", "message", "offline"
function(client, [topic], [message])
回调函数。第一个参数是客户端。
如果事件是“消息”,则第二个和第三个参数是字符串中接收的主题和消息。
Returns
无。
我可能有一个奇怪的问题,但我需要知道这个。我正在创建一个 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"参数?它看起来像一个实例或其他东西,但没有定义这样的东西。有人可以给我解释一下吗?
从the docs可以发现客户端的on()
方法注册了一个回调,其中第一个参数是客户端本身。为了您的方便(以防 link 死亡),我复制了以下相关信息:
mqtt.client:开()
描述
向事件注册回调函数。
语法
mqtt:on(event, function(client, [topic], [message]))
参数
event
字符串,可以是:"connect", "message", "offline"
function(client, [topic], [message])
回调函数。第一个参数是客户端。
如果事件是“消息”,则第二个和第三个参数是字符串中接收的主题和消息。
Returns
无。