器件型号: CC3551E
您好、
我使用 lwIP TCP 协议栈通过 HTTP 接收 JPEG 流。
流源是 Android 应用程序:
屏幕流 (Play Store) 我使用的是 MJPEG 格式的流数据(HTTP 上的 JPEG 图像序列)
GET 请求
snprintf (req、sizeof (req)、
“get /stream.jpeg HTTP/1.1\r\n“
“主机:%s\r\n“
“连接:保持活动\r\n“
“\r\n“、server_ip);
lwip_write (sock、req、strlen (req));
接收流程
发送 GET 请求后、应用会循环持续从 TCP 套接字读取数据。 接收到的每个块都会传递给处理函数以汇编 JPEG 图像。 当 READ 函数返回零或负值时、循环退出、表示连接已关闭或发生错误。
问题
* lwip_read () 返回 0
*在收到完整图像之前**发生这种情况
*即使使用了`Connection: Keep-alive`,服务器仍然会关闭连接
*对于下一个图像,我需要重新打开插座并重新连接
1、即使请求了`Connection: Keep-alive`、服务器也应该关闭连接吗?
2.这可能是由于服务器使用 HTTP/1.0 还是不支持保持活动?
3.使用另一台 Wi-Fi 设备,我可以通过同一连接发送多个 GET 请求。 在我的情况下、为什么这不适用于 lwIP?
谢谢、
Vignesh。