Javascript 使用multipart/x-mixed-replace MIME类型传输任意数据

Javascript 使用multipart/x-mixed-replace MIME类型传输任意数据,javascript,xmlhttprequest,streaming,multipart-mixed-replace,Javascript,Xmlhttprequest,Streaming,Multipart Mixed Replace,我已经看到,可以使用服务器的multipart/x-mixed-replace MIME类型响应和客户端的一个简单的来流式传输JPEG。据我所知,浏览器负责获取每个帧,显示它和更新。以这种方式传输JPEG实际上对我很有效 但现在我正尝试使用这种方法来流式传输一些文本数据(小型压缩点云)。我有点困在客户端如何处理它。我想使用不同的片段(边界之间)作为某种“帧”,按顺序渲染 我使用three.js作为我的渲染引擎,我使用他们的加载器,它似乎使用标准的XMLHTTPRequest,有3个回调,加载内容

我已经看到,可以使用服务器的multipart/x-mixed-replace MIME类型响应和客户端的一个简单的
来流式传输JPEG。据我所知,浏览器负责获取每个帧,显示它和更新。以这种方式传输JPEG实际上对我很有效

但现在我正尝试使用这种方法来流式传输一些文本数据(小型压缩点云)。我有点困在客户端如何处理它。我想使用不同的片段(边界之间)作为某种“帧”,按顺序渲染

我使用three.js作为我的渲染引擎,我使用他们的加载器,它似乎使用标准的XMLHTTPRequest,有3个回调,加载内容时加载加载内容时进度,以及一个错误回调

当我发送XMLHTTPRequest时,onLoad回调永远不会被调用,但是onProgress回调被无限调用。我可以在登录控制台时看到缓冲区(包含正确的数据),但它似乎在无限增长。这个请求永远不会结束

这似乎是multipart/x-mixed-replace所期望的,但XMLHTTPRequest似乎没有考虑到这一点。我有点不希望每次更新都调用onLoad回调

如果有人能提供一个可以工作的客户端代码的最小工作示例,那就太好了。 另外,我也会对其他类似的简单解决方案感兴趣,因为我使用“手写”(实际上使用Boost)C++服务器作为我的应用程序。 谢谢你的帮助

编辑:我发现不再支持多部分/x-mixed-replace。。。我发现的一个建议是从onProgress事件中获取responseText

但这样做会让浏览器认为页面一直在加载,似乎总是以错误告终。有没有一种方法可以一直调用进度回调,让浏览器相信一切正常