通过 TCP 连接发送字符串变量 Lua

我正在使用 Lua 通过 TCP 连接每 10 秒在两个 ESP8266 模块之间发送数据:

string="abc"
cl=net.createConnection(net.TCP, 0)
cl:connect(80,"192.168.4.1")
tmr.alarm(2, 10000, 1, function()
cl.send("The string variable is: "..string.."")end)

但是,如果我想像上面的代码一样发送字符串变量,我会不断收到错误消息:

PANIC: unprotected error in call to Lua API (init.lua:26: bad argument #1 to 'send' (net.socket expected, got string))
PANIC: unprotected error in call to Lua API (bad argument #1 (Server/Socket expected))

对于我只能在发送数字变量时才能正常工作,请问有没有发送字符串变量的方法?

谢谢, Kaki

点赞
用户1442917
用户1442917

错误信息是 send 调用的第一个参数应该是 socket,而不是字符串。

您应该使用 cl:send("value") 而不是 cl.send("value"),因为前者实际上是简写形式的 cl.send(cl, "value")

2016-06-10 17:59:15