2016-06-10 3 views
2

Я отправляющего данные между двумя ESP8266 модулями через соединение TCP через каждые 10 секунд в Lua:Отправить строковой переменной через соединение TCP Lua

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)) 

Это работает для меня, просто отправляя числовые переменные. Есть ли способ отправить строковую переменную?

Спасибо, каки

ответ

3

Сообщение об ошибке в том, что первый аргумент send вызова, как ожидается, будет сокет, а не строка.

Вы должны использовать cl:send("value") вместо cl.send("value"), так как первая действительно является короткой формой для cl.send(cl, "value").

+0

Большое спасибо за четкий ответ, это очень помогло мне. Теперь это работает :) – Kaki

Смежные вопросы