首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >火狐操作系统中高效的HTTP流

火狐操作系统中高效的HTTP流
EN

Stack Overflow用户
提问于 2015-09-20 22:32:07
回答 1查看 84关注 0票数 2

我需要处理无限的HTTP响应(带有Transfer-Encoding: chunked头)。

此响应包含一个映像流,因此必须尽可能有效地处理它。

XmlHttpRequest而不是,这是一个解决方案,因为它将所有的回复都保存在内存中。另外,如果读取ArrayBuffer,在流结束之前不会填充响应,这意味着永远不会出现这种情况。

因此,由于我在Firefox下,TCPSocket API似乎是我唯一的希望。

我已经开始实现一个脏的HTTP堆栈(这里这里),从IMAP/SMTP实现中获得灵感,但它仍然是非常慢的

因此,有两个问题:

  1. 花点时间在这上面值得吗,还是我错过了更容易的事情?
  2. 如果我想实现它,最好的实践是什么?

PS:我与外部设备通信,所以服务器端的更改在这里是不可能的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-20 23:58:21

正如MDN上的XMLHttpRequest文档所述,火狐实际上为流媒体数据提供额外的responseType值(火狐操作系统也是如此),比如moz-chunked-arraybuffer

代码语言:javascript
运行
复制
var xhr = new XMLHttpRequest({ mozSystem: true });
xhr.responseType = "moz-chunked-arraybuffer";
xhr.open('GET', deviceStreamingUrl);
xhr.addEventListener('progress', event => {
  processChunk(xhr.response);
});
xhr.send();

感谢#fxos@irc.mozilla.org上的fabrice!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32684998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档