Use table syntax to work with >lines<
This commit is contained in:
parent
621cef2ab5
commit
6232bf5180
66
telnet.lua
66
telnet.lua
@ -1,36 +1,40 @@
|
|||||||
|
-- Telnet client
|
||||||
|
local telnetClient=nil
|
||||||
|
lines = {}
|
||||||
-- Telnet Server
|
-- Telnet Server
|
||||||
function startTelnetServer()
|
function startTelnetServer()
|
||||||
s=net.createServer(net.TCP, 180)
|
s=net.createServer(net.TCP, 180)
|
||||||
s:listen(23,function(c)
|
s:listen(23,function(c)
|
||||||
global_c=c
|
telnetClient=c
|
||||||
printlines = {}
|
function s_output(str)
|
||||||
function s_output(str)
|
if (telnetClient ~= nil) then
|
||||||
if(global_c~=nil) then
|
if (#lines > 0) then
|
||||||
if #printlines > 0 then
|
table.insert(lines, str)
|
||||||
printlines[ #printlines + 1] = str
|
else
|
||||||
else
|
table.insert(lines, str)
|
||||||
printlines[ #printlines + 1] = str
|
telnetClient:send("\r") -- Send something, so the queue is read after sending
|
||||||
global_c:send("\r") -- Send something, so the queue is read after sending
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
node.output(s_output, 0)
|
||||||
node.output(s_output, 0)
|
c:on("receive",function(c,l)
|
||||||
c:on("receive",function(c,l)
|
node.input(l)
|
||||||
node.input(l)
|
end)
|
||||||
|
c:on("disconnection",function(c)
|
||||||
|
node.output(nil)
|
||||||
|
telnetClient=nil
|
||||||
|
end)
|
||||||
|
c:on("sent", function()
|
||||||
|
if (#lines > 0) then
|
||||||
|
local localstr = table.remove(lines, 1)
|
||||||
|
print( tostring(localstr) )
|
||||||
|
telnetClient:send(localstr)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
print("Welcome to the Wordclock.")
|
||||||
|
print("- mydofile(\"commands\")")
|
||||||
|
print("- storeConfig()")
|
||||||
|
print("Visite https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en for further commands")
|
||||||
end)
|
end)
|
||||||
c:on("disconnection",function(c)
|
print("Telnetserver started")
|
||||||
node.output(nil)
|
end
|
||||||
global_c=nil
|
|
||||||
end)
|
|
||||||
c:on("sent", function()
|
|
||||||
if #printlines > 0 then
|
|
||||||
global_c:send(table.remove(printlines, 1))
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
print("Welcome to the Wordclock.")
|
|
||||||
print("- mydofile(\"commands\")")
|
|
||||||
print("- storeConfig()")
|
|
||||||
print("Visite https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en for further commands")
|
|
||||||
end)
|
|
||||||
print("Telnetserver is up")
|
|
||||||
end
|
|
||||||
|
Loading…
Reference in New Issue
Block a user