问题标签 [chunked]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
329 浏览

node.js - Node.js、分块编码和持久/可重用套接字

我正在构建一个与供应商 API 对话的应用程序。API 期望通过 https 进行分块编码连接 POST(并讨论 XML,但这无关紧要)。他们还建议通过一个套接字连接多路复用请求(不这样做有如下所述的安全限制)。

Node 的核心 https 在我可以与远程 Web 服务建立一个连接的范围内工作。我刚刚设置了'Transfer-Encoding': 'chunked'标头。当我在远程 Web 服务 API 发出第二个请求以取消第一个请求时,问题就开始了。第二个请求来自一个单独的连接,因此无权影响第一个请求中设置的条件——只有在同一个套接字上的请求才会被授权这样做。

使用 Node.js 实现这一点我有哪些选择?我一直在查看 Mikeal Rogers 的请求库,但到目前为止还没有运气

任何想法我可以走什么路线?非常感谢您的任何见解!

0 投票
0 回答
440 浏览

.net - IIS 7 和块/流文件上传问题

我正在尝试通过 WCF Rest 服务上传音频文件。我们有一个网络播放器,可以在录制时将数据逐块发送到服务器。我们必须上传大文件,所以在这里选择了 CHUNKED 选项。该服务的方法工作正常,当停止录制或定义的录制持续时间结束时,录制的文件保存在文件系统中。

但是,我注意到当启用 CHUNKED 时,在文件完全上传之前不会调用方法,这意味着 WCF 似乎在调用该方法之前正在某处缓存文件。而不是这种行为,服务方法应该在收到第一个块后立即调用,并且应该在文件系统中创建文件。我们还使用wireshark检查了结果,发现有许多块数据包,但文件仅在STOP之后才保存。

下面是服务配置:

我们也曾经 appcmd set config /section:asp /enableChunkedEncoding:True|False启用或禁用 HTTP 1.1chunked传输编码,但它不起作用。

0 投票
1 回答
2695 浏览

python - urllib2 python(传输编码:分块)

我使用以下 python 代码下载了 html 页面:

对于像这样的页面,它打开 url 时不会出错,但随后只打印 html 页面的一部分!

在以下几行中,您可以找到 html 页面的 http 标头。我认为问题是由于“传输编码:分块”。

似乎 urllib2 只返回第一个块!我在阅读剩余的部分时遇到了困难。我如何读取剩余的块?

0 投票
1 回答
1154 浏览

http - 即使没有在 http 请求中设置 content-length 标头,我的 HTTP 响应也没有传输编码分块

我在一些文章中读到,如果我们没有在 http 请求中设置 content-length 标头,我们会以块的形式获得 http 响应。(传输编码:在这种情况下由服务器隐式选择的分块)。在我的 java 代码中我做了没有设置内容长度标头。我仍然在我的响应中获得内容长度标头而不是分块传输。请帮助。

0 投票
1 回答
391 浏览

java - 如何在 openNLP 分块器中识别 PP-tags/NP-tags/VP-tags?

我想计算文本中 pp/np/vp 的数量,但我不知道如何在 openNLP 分块器中识别 PP-tags/NP-tags/VP-tags?我已经尝试过这段代码,但它不起作用。

输出:

0 投票
1 回答
318 浏览

cakephp - 应用程序缓存清单分块

我的控制器中有这个 cakephp 清单方法,可以动态创建清单文件。感谢$this->RequestHandler->setContent('manifest', 'text/cache-manifest' );,我可以正确设置 MIME 类型,一切正常。

现在的问题是我的manifest文件变得非常大,包含很多行,最后它的尺寸达到了大约72Kb,这导致文件在下载时被分成了两个或更多的块,并且读取了最终文件作为文本/html,不再是缓存清单!

这是一个头嗅探器告诉我的,事实上:

清单的小版本:

而大清单:

我必须在什么级别进行更改才能解决此问题?阿帕奇级别?PHP/Cakephp 级别?

0 投票
0 回答
275 浏览

python - 了解python请求中的流式传输以及一般情况

我真的很难解决这个问题,也许有人可以指出我正确的方向:

我正在将 python(django 框架)用于 Web 应用程序,并且我有一个额外的 Web 套接字服务器,它从浏览器接收分块的二进制数据。我想使用 python-requests 库将这些块发送(或流式传输)到另一台服务器。

根据官方文档,您必须提供一个生成器作为数据属性:

在这种情况下,我怎么可能发送任何东西,因为arr我发送请求时是空的。如何保持连接打开,以便发送每个块?

我认为一般来说流媒体存在一些我不理解的主要问题。因此,除了有关解决我的实际问题的提示之外,我还将感谢任何推荐的教程或有关此主题的良好阅读。

0 投票
0 回答
1525 浏览

php - Blueimp jQuery 文件上传从服务器端删除中止的分块上传?

我正在使用带有分块上传的 Blueimp jQuery File Upload 来处理大文件,并且每次文件上传完成或文件被删除时,我都会更新客户端在数据库中使用的磁盘空间。

我的问题是:当上传过程中断时,我可以通过使用fail回调向服务器发送删除请求从客户端删除不完整的文件,如本指南:https ://github.com/blueimp/jQuery-File-上传/wiki/Chunked-file-uploads#deleting-aborted-chunked-uploads

但是如果客户端的网络连接丢失或浏览器关闭,服务器将不会收到任何请求,数据库也没有更新,损坏的文件仍然存在。当客户端重新连接到站点并删除文件时,将导致数据库中使用的磁盘空间量错误。

有没有办法从服务器端删除不完整的分块上传文件或我的情况的其他解决方案?请帮我。

0 投票
1 回答
234 浏览

mono - 在 Mono + FastCGI 中托管 ServiceStack 时二进制数据损坏

我有一个 ServiceStack 服务,它具有处理 GET 请求的方法。此方法返回二进制数据。

当主机是 Windows 时它工作正常,但是当我在 Linux 中使用 Mono+FastCGI 运行它时,我下载的数据不一样。

我分析了几个文件的返回字节,并得出结论认为存在模式。数据以这种方式包装:

为什么会发生这种情况以及如何解决?

编辑:

事实证明,这是由于 HTTP 1.1 中的分块传输造成的。

Knocte 的回答为我指明了正确的方向,我能够通过强制我的请求使用 HTTP 1.0 来解决这个问题:

我不需要尝试 knocte 建议的补丁,但它看起来是解决问题的正确方法,而不是像我那样避免它。

0 投票
1 回答
660 浏览

android - IceCast 2.3.2+ 块编码 MP3 流

有没有人托管带有块编码 MP3 流的 IceCast 2.3.2+ 服务器,我可以测试?我想测试它是否会因 Android Mediaplayer 中的小块长度而导致任何流停止。