我为一个嵌入式项目编写了一个小型 Web 服务器,它应该为设备提供基于 Web 的 UI。虽然使用 PC 浏览器一切正常,但移动浏览器无法加载与页面关联的所有资源(例如 css/js/图像)。
我的服务器支持没有请求流水线的持久连接。目前我已将最大并行连接数减少到 1,因此一次只能回答一个请求。
我的调试观察是客户端在首先请求 *.html 文件和样式表之后,停止请求头部中列出的任何其他资源。客户端不会断开连接。
你知道我犯了什么样的错误,PC浏览器会容忍而移动浏览器不会?
我刚刚在网上看到大多数移动浏览器实际上都实现并使用了流水线。进一步考虑,我认为我当前的实现可能在处理流水线请求时遇到问题。考虑到我的 STM32 内存不足,我将接收缓冲区重新用作发送缓冲区。我会尽快验证...
...不,尽管这里说 >>> <<<,但我无法验证 Android 标准浏览器、Dolphin 或 Firefox for Android 是否实际上在“保持活动”连接上传输他们的请求。
还有一件事......从Android SDK运行模拟器时它工作得非常好(至少对于Android 4.2.2)
请评论您可能需要的任何其他信息。