ESP8266 do not send back http resppond

Viewed 41

I have some problem. If I have old firmware (NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4) then it works and I receive back response to phone. But if I have new one ( build 2022-09-07 powered by Lua 5.1.4 on SDK 3.0.1-dev(fce080e)) then I do not receive response (but I get request “who” on ESP8266). What is the problem it could be?

Code:

srv = net.createServer(net.TCP)
srv:listen(80,function(conn)
  conn:on("receive", function(client,request)
    local buf = "";
    buf = buf.."HTTP/1.1 200 OK\n\n"
    local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
    if(method == nil)then
        _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
    end
    
    local _GET = {}
    if (vars ~= nil)then
        for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
           _GET[k] = v
        end
    end
    
    if(_GET.pin == "ON1")then
        print(“On”)
    elseif(_GET.pin == "OFF1") then
        print(“Off”)
    end
    
    if(_GET.question == "who") then
        buf=""
        buf = buf.."HTTP/1.1 200 OK\n\n"
        print(buf)
    end
    
    client:send(buf)
    client:close()
    collectgarbage()
    end) 
 end)
0 Answers
Related