我在ESP-12上运行了一个带有nodemcu固件的小型Web服务器:
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行a 3没有出现,在我的串口控制台中,我只是看到“发送的东西”文本一次,甚至评论close语句并让连接超时不会改变行为 . 我在这里想念的是什么?
2 回答
我不认为你可以多次使用 send . 每当我使用我的ESP8266作为服务器时,我使用缓冲变量:
编辑:再次读取文档后,send可以使用另一个带回调函数的参数,它可以用于具有多个发送命令 . 从来没有试过它:( .
编辑2:如果你有一个很长的字符串要发送,最好使用table.concat
net.socket:send()文档提供了一个很好的例子,我在这里重复一遍 .