使用nodeMCU的esp8266上的脚本不停地运行

我正在使用lualoader,并从webserver example加载了以下脚本

--一个简单的http服务器
srv = net.createServer(net.TCP)
srv:listen(80, function(conn)
    conn:on("receive", function(sck, payload)
        print(payload)
        sck:send("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n<h1> Hello, NodeMCU.</h1>")
    end)
    conn:on("sent", function(sck) sck:close() end)
end)

我将其保存在一个文件中,将其加载到lualoader中,然后执行dofile。每当我向esp8266发送HTTP请求时,它都会加载网页。即使运行其他脚本后也是如此。从阅读脚本来看,它似乎只能处理一个HTTP请求。为什么它会保持处理新的http请求?

点赞
用户131929
用户131929

从脚本的阅读来看,它似乎只能处理一个 HTTP 请求。

不确定您的意思是什么。也许您是指 http://nodemcu.readthedocs.io/en/latest/en/modules/http/?那是关于发送请求的,只能有一个并发请求。

为什么它要不断处理新的 http 请求?

服务器保持监听直到被关闭。

srv:close()
2016-09-09 05:01:19