我有一个小的Web服务器上我的ESP-12运行与nodemcu固件:NodeMCU网络服务器首次发送后关闭连接?
sv=net.createServer(net.TCP,10)
sv:listen(80,function(c)
c:on("receive", function(c, pl)
if(string.find(pl,"GET/")) then
print("Asking for index")
c:send("Line 1")
c:send("Line 2")
c:send("Line 3")
c:close()
end
end)
c:on("sent",function(conn)
print("sended something...")
end)
end)
看来第一个发送后,我的连接是越来越封闭,在浏览器中我只看到了“1号线”的文字,第2行3没有出现,并且在我的串行控制台中,我只是一次看到“发送内容”文本,甚至评论关闭语句并让连接超时不会改变行为。我在这里错过了什么?
前段时间我使用了缓冲解决方案,它的工作原理是,但问题是如果你不得不缓冲一个大文件,你有可能冒Ram内存问题,也许回调工作的想法,我会尝试。谢谢 – DomingoSL
确实我应该想到这一点(我曾经遇到这个问题)。我修改了我的答案,添加了一个关于table.concat的笔记 – seblucas
这是因为回调函数重新使用'c'而泄漏内存。我将添加一个替代答案,请参阅http://stackoverflow.com/a/37379426/131929和http://stackoverflow.com/a/36094397/131929以了解相关问题。 –