通过 TCP 连接发送字符串变量 Lua
Send string variable via TCP connection Lua
我在 Lua 中每 10 秒通过 TCP 连接在两个 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))
它只在发送数值变量时对我有用。有什么方法可以发送字符串变量吗?
谢谢,
柿子
错误消息是 send
调用的第一个参数应该是套接字,而不是字符串。
您应该使用 cl:send("value")
而不是 cl.send("value")
因为第一个实际上是 cl.send(cl, "value")
.
的缩写形式
我在 Lua 中每 10 秒通过 TCP 连接在两个 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))
它只在发送数值变量时对我有用。有什么方法可以发送字符串变量吗?
谢谢, 柿子
错误消息是 send
调用的第一个参数应该是套接字,而不是字符串。
您应该使用 cl:send("value")
而不是 cl.send("value")
因为第一个实际上是 cl.send(cl, "value")
.