From 87351a2d10ef8aaf91c6595e3070e36cce96adeb Mon Sep 17 00:00:00 2001 From: devsaurus Date: Wed, 6 Jan 2016 23:18:42 +0100 Subject: [PATCH] consolidate telnet example --- examples/tel.lua | 17 ----------- examples/telnet.lua | 41 ------------------------- lua_examples/telnet.lua | 66 +++++++++++++++++++--------------------- lua_examples/telnet2.lua | 35 --------------------- 4 files changed, 31 insertions(+), 128 deletions(-) delete mode 100644 examples/tel.lua delete mode 100644 examples/telnet.lua delete mode 100644 lua_examples/telnet2.lua diff --git a/examples/tel.lua b/examples/tel.lua deleted file mode 100644 index 4d614c49..00000000 --- a/examples/tel.lua +++ /dev/null @@ -1,17 +0,0 @@ - -- a simple telnet server - s=net.createServer(net.TCP,180) - s:listen(2323,function(c) - function s_output(str) - if(c~=nil) - then c:send(str) - end - end - node.output(s_output, 0) -- re-direct output to function s_ouput. - c:on("receive",function(c,l) - node.input(l) -- works like pcall(loadstring(l)) but support multiple separate line - end) - c:on("disconnection",function(c) - node.output(nil) -- un-regist the redirect output function, output goes to serial - end) - print("Welcome to NodeMcu world.") - end) \ No newline at end of file diff --git a/examples/telnet.lua b/examples/telnet.lua deleted file mode 100644 index f8ed7340..00000000 --- a/examples/telnet.lua +++ /dev/null @@ -1,41 +0,0 @@ -print("====Wicon, a LUA console over wifi.==========") -print("Author: openthings@163.com. copyright&GPL V2.") -print("Last modified 2014-11-19. V0.2") -print("Wicon Server starting ......") - -function startServer() - print("Wifi AP connected. Wicon IP:") - print(wifi.sta.getip()) - sv=net.createServer(net.TCP, 180) - sv:listen(8080, function(conn) - print("Wifi console connected.") - - function s_output(str) - if (conn~=nil) then - conn:send(str) - end - end - node.output(s_output,0) - - conn:on("receive", function(conn, pl) - node.input(pl) - if (conn==nil) then - print("conn is nil.") - end - end) - conn:on("disconnection",function(conn) - node.output(nil) - end) - end) - print("Wicon Server running at :8080") - print("===Now,Using xcon_tcp logon and input LUA.====") -end - -tmr.alarm(0, 1000, 1, function() - if wifi.sta.getip()=="0.0.0.0" then - print("Connect AP, Waiting...") - else - startServer() - tmr.stop() - end -end) diff --git a/lua_examples/telnet.lua b/lua_examples/telnet.lua index 22610445..77c801a3 100644 --- a/lua_examples/telnet.lua +++ b/lua_examples/telnet.lua @@ -1,39 +1,35 @@ -print("====Wicon, a LUA console over wifi.==========") -print("Author: openthings@163.com. copyright&GPL V2.") -print("Last modified 2014-11-19. V0.2") -print("Wicon Server starting ......") +-- a simple telnet server -function connected(conn) - print("Wifi console connected.") - function s_output(str) - if (conn~=nil) then - conn:send(str) - end - end - node.output(s_output,0) - conn:on("receive", function(conn, pl) - node.input(pl) - end) - conn:on("disconnection",function(conn) - node.output(nil) - end) - print("Welcome to NodeMcu world.") -end +telnet_srv = net.createServer(net.TCP, 180) +telnet_srv:listen(2323, function(socket) + local fifo = {} + local fifo_drained = true -function startServer() - print("Wifi AP connected. Wicon IP:") - print(wifi.sta.getip()) - sv=net.createServer(net.TCP, 180) - sv:listen(2323, connected) - print("Telnet Server running at :2323") - print("===Now, logon and input LUA.====") -end + local function sender(c) + if #fifo > 0 then + c:send(table.remove(fifo, 1)) + else + fifo_drained = true + end + end -tmr.alarm(1, 1000, 1, function() - if wifi.sta.getip()=="0.0.0.0" then - print("Connect AP, Waiting...") - else - startServer() - tmr.stop(1) - end + local function s_output(str) + table.insert(fifo, str) + if socket ~= nil and fifo_drained then + fifo_drained = false + sender(socket) + end + end + + node.output(s_output, 0) -- re-direct output to function s_ouput. + + socket:on("receive", function(c, l) + node.input(l) -- works like pcall(loadstring(l)) but support multiple separate line + end) + socket:on("disconnection", function(c) + node.output(nil) -- un-regist the redirect output function, output goes to serial + end) + socket:on("sent", sender) + + print("Welcome to NodeMcu world.") end) diff --git a/lua_examples/telnet2.lua b/lua_examples/telnet2.lua deleted file mode 100644 index 77c801a3..00000000 --- a/lua_examples/telnet2.lua +++ /dev/null @@ -1,35 +0,0 @@ --- a simple telnet server - -telnet_srv = net.createServer(net.TCP, 180) -telnet_srv:listen(2323, function(socket) - local fifo = {} - local fifo_drained = true - - local function sender(c) - if #fifo > 0 then - c:send(table.remove(fifo, 1)) - else - fifo_drained = true - end - end - - local function s_output(str) - table.insert(fifo, str) - if socket ~= nil and fifo_drained then - fifo_drained = false - sender(socket) - end - end - - node.output(s_output, 0) -- re-direct output to function s_ouput. - - socket:on("receive", function(c, l) - node.input(l) -- works like pcall(loadstring(l)) but support multiple separate line - end) - socket:on("disconnection", function(c) - node.output(nil) -- un-regist the redirect output function, output goes to serial - end) - socket:on("sent", sender) - - print("Welcome to NodeMcu world.") -end)