3 回答

TA贡献1799条经验 获得超8个赞
多部分 MIME 邮件中的部分以 MIME 标头开头,以边界结尾。在第一个实部之前有一个边界。此初始边界关闭了 MIME 前导码。
相反,您的代码假定部件以边界开头。基于此假设,首先发送边界,然后发送 MIME 标头,然后发送 MIME 正文。然后停止发送,直到下一部分准备就绪。因此,只有在发送下一个部件后,才会检测到一个部件的末端,因为只有这样,您才会发送前一个部件的结束边界。
若要解决此问题,代码最初应发送一个边界来结束 MIME 前导码。然后,对于每个新部件,它应发送 MIME 标头、MIME 正文,然后发送边界以结束此部件。

TA贡献1854条经验 获得超8个赞
我有同样的问题:使用时有1帧延迟multipart/x-mixed-replace
这个问题似乎出现在Chrome中,它似乎与Chrome不再支持资源的事实有关。此问题在 Firefox 中不存在。multipart/x-mixed-replace
因此,“诱骗”Chrome显示视频流的唯一方法是将每个图像发送两次或接受1帧延迟。如前所述,问题在Firefox中不存在。

TA贡献2016条经验 获得超9个赞
这是Chrome的一个问题。在Firefox中,它按预期工作。
我通过以下方式解决了这个问题C# example
var chromeWorkaround = Encoding.UTF8.GetBytes($"\r\n--{Boundary}\r\n\r\n--{Boundary}\r\n");
将其附加到您的流中,它似乎会强制镶边立即呈现。
我在这里报告了:https://bugs.chromium.org/p/chromium/issues/detail?id=1250396
- 3 回答
- 0 关注
- 103 浏览
添加回答
举报