2016-09-09 12 views
0

を実行し、私はwebserver exampleスクリプトは常に私がlualoaderを使用しています

-- a simple http server 
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をしました。 HTTP要求をesp8266にロードするたびに、Webページがロードされます。これは、他のスクリプトを実行した後でさえあります。スクリプトを読むことから、1つのHTTP要求しか処理できないように見えます。なぜ新しいhttp要求を処理し続けるのですか?

答えて

0

スクリプトを読むと、1つのHTTPリクエストしか処理できないように見えます。

あなたはそれが何を意味するのかよく分かりません。あなたはhttp://nodemcu.readthedocs.io/en/latest/en/modules/http/を参照していますか?つまり、個のリクエストで送信し、1つの同時リクエストしか送信しません。

なぜ新しいhttp要求を処理し続けるのですか?

サーバーは、ユーザーが終了するまでリッスンし続けます。

srv:close() 
+0

最初の質問は2番目の質問と同じです。それはそれに答える。ありがとう! – ben

関連する問題