使用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相同。具有不同地址的唯一對象是傳遞給斷開連接回調的對象,它們不匹配代碼中任何其他地方使用的任何值。 –