使用NodeMCU充当wifi接入点。接入点正在工作,我可以连接到它,并且当我访问192.168.4.1,print(payload)
时,我的请求被打印到控制台,以便所有工作正常,但iOS上的Safari抱怨服务器已停止响应。NodeMCU服务器没有响应
function initialConnection()
wifi.setmode(wifi.SOFTAP)
-- Setup as Access Point
print(wifi.ap.config({
ssid = "SSIDNAME",
pwd = "SSIDPASSWORD",
auth = wifi.OPEN
}))
server = net.createServer(net.TCP, 30)
if server then
server:listen(80, function(conn)
conn:on("receive",function(conn,payload)
print(payload)
conn:send("<h1> Hello, NodeMCU!!! </h1>")
end)
end)
end
-- statusLed:flashBlue(100)
end
这是被打印到控制台
GET /?gddf HTTP/1.1
Host: 192.168.4.1
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0 Mobile/14C92 Safari/602.1
Accept-Language: en-us
DNT: 1
Cache-Control: max-age=0
不知道这有什么差别,但是在第二个回调插座参数不该”因为这个“覆盖”了第一个回调函数的'conn',所以被称为'conn'。让它像'function(sck,payload)sck:send()'一样。 –
出于好奇,我在每一层嵌套上印刷了[连接参数的地址],即print(conn)conn:on(“sent”,function(sck)print(sck)sck:close()end)end )。作为conn传递的对象的地址与sck相同。具有不同地址的唯一对象是传递给断开连接回调的对象,它们不匹配代码中任何其他地方使用的任何值。 –