nodemcu搭建web服务器出现的问题

用nodemcu搭建服务器,

用lua调试(使用esplorer软件

官方都会提供简单的例子

 -- Start a simple http server
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
  conn:on("receive",function(conn,payload)
    print(payload)
    conn:send("<h1> Hello, NodeMCU!!! </h1>")
  end)
  conn:on("sent",function(conn) conn:close() end)
end)

建立完wifi后,wifi.sta.getip() 得到ip地址  192.168.1.104

访问 http://192.168.1.104/ 后出现错误提示

Bad response. The server or forwarder response doesn't look like HTTP.

分析可能是缺少和http相关的东西。


后找到其他类似程序,一个温度湿度的应用程序

srv=net.createServer(net.TCP) 
srv:listen(80,function(conn) 
    conn:on("receive",function(conn,payload) 
        local html = string.format("HTTP/1.0 200 OK\r\n"
        .."Content-Type: text/html\r\n"
        .."Connection: Close\r\n\r\n"
        .."<h1> Hello, NodeMCU!!! </h1>")
        conn:send(html,function(sent) 
               conn:close()               
        end)
    end) 
end)

对比发现,前段程序缺少http的定义,所以访问 http://192.168.1.104/  就不能以http方式访问。


简单修改后

srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
  conn:on("receive",function(conn,payload)
    print(payload)
        local html = string.format("HTTP/1.0 200 OK\r\n"
        .."Content-Type: text/html\r\n"
        .."Connection: Close\r\n\r\n"
        .."<h1> Hello, NodeMCU!!! </h1>")
    conn:send(html)
  end)
  conn:on("sent",function(conn) conn:close() end)
end)




就可以正常访问 http://192.168.1.104/  了。

结果:

<h1> Hello, NodeMCU!!! </h1>




  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值