iOS 忽略 NodeMCU 的 http 服务器响应,浏览器显示未连接
2016-6-10 5:3:9
收藏:0
阅读:71
评论:1
我最近获得了一个 NodeMCU Lua V1,我启动它并连接到我的 WiFi,然后从 https://en.wikipedia.org/wiki/NodeMCU#HTTP_server 加载了默认的 HTTP 服务器。我兴奋地在 ADSL 路由器上进行了端口转发,并要求朋友连接以查看我的 hello world 响应。我的使用苹果设备 (iPhone/iPad) 的朋友无法加载网站。而使用安卓设备或计算机的朋友则毫无问题地查看该网站。我尝试在同一 WiFi 网络上使用的 iPad。它也有这种行为。为了找出发生了什么,我在 iPad 上尝试了不同的浏览器。我进行了 Wireshark 跟踪,看到 NodeMCU将响应发送到 iPad。但 iPad 仍然显示无法连接或您处于离线状态的消息。考虑可能是缺少 html 标头,我将 NodeMCU 发送的响应更改为:
<!DOCTYPE html><html><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>
仍然无济于事,iPad 显示相同的消息。
所以我的问题是,为什么 iOS 表现出这种行为,是什么阻碍它并使浏览器认为它没有互联网连接?iOS 上的浏览器是否表现出这种行为,还是操作系统做了一些奇怪的事情。我需要做什么才能让 iOS 设备查看网页?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
哦,天啊,那篇维基百科的文章真的很糟糕(也可以看看https://github.com/nodemcu/nodemcu-firmware/issues/832)。我看过这个代码示例很多次,但从来没有意识到它的起源。
首先,您不应使用NodeMCU模块上可能加载的旧的0.9.x二进制文件。它们不再受支持,并且包含很多错误。从“dev”或“master”分支构建自定义固件。其次,请查看官方文档
socket:send()以了解如何正确地执行此操作。实际问题在于
conn:send("<h1> Hello, NodeMcu.</h1>"),因为该消息不是有效的HTTP响应。您需要在其前面加上HTTP/1.0 200 OK\r\nContent- Type: text/html\r\n\r\n。类似的问题和答案在这里:https://stackoverflow.com/a/37379426/131929 和 https://stackoverflow.com/a/36972273/131929。