问题标签 [http-streaming]
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.
c# - StreamReader缓冲GZIP的流式HTTP?
努力寻找遇到类似问题或类似问题的人。
reader.ReadLine()
我目前正在使用具有 GZip 要求的 http (json) 流,并且从发送数据到读取数据时遇到延迟。有人建议我这可能与将数据保存在缓冲区中的解码有关?
这就是我目前所拥有的,除了延迟之外它工作得很好。
然后在 AsyncCallback 方法中我有:
它会一直等待,reader.Readline()
直到收到更多数据,然后甚至会保留其中的一些数据。还收到了保持活动的换行符,当它决定阅读某些内容时,这些通常会被一次性读出。
我已经在运行 curl 命令的情况下测试了并行运行的流,curl 命令可以很好地接收和解压缩数据。
任何见解都会很棒。谢谢,
担
编辑 在流式阅读器上使用缓冲区大小没有运气。
编辑 也没有运气更新到 .NET 4.5 并使用
server-push - 有没有办法在 IE8 中清除 XDomainRequest.responseText
我正在实施服务器推送解决方案。
有没有办法清除IE8 的XDomainRequest.responseText,因为它充满了每个响应块?
(为了获得与 Firefox xhr.responseText 中相同的效果,其中 multipart 仅包含最后一个响应部分。)
ios - MPMoviePlayerController 试图开始奇怪的行为?
我有MPMoviePlayerController
-obj 从我的视频服务器播放 hls 流。分段持续时间设置为 3 秒。
由于流的视频内容是动态转码的,所以当用户搜索到某个位置时,服务器需要几秒钟的时间来搜索原始电影文件并开始生成正确的 .ts 文件。如果我以玩家的头部为起点,就会出现问题。0:00拖放头部后,播放器发送对第一个.ts文件的请求(通过wireshark检查),并在收到第一个响应.ts文件后正常开始播放,除了播放时间不是0:00(每个测试中的值都不同)。
这可能是什么原因?
更新#1:
.m3u8 文件的内容:
.ts 文件的实际持续时间通常与目标持续时间(3 秒)不同,但我不认为这是原因。
UDPATE #2:
我确实创建了目标持续时间为 10 秒的 VOD HTTP 流,但播放器的行为方式相同。如果我寻求 00:00:00,它总是从第 5 秒或第 3 秒开始播放,所以我想原因不是来自我的服务器。
java - 在一个多部分响应中发送模型对象和二进制流
我目前正在从公司网络配置的更改中恢复,当用户通过 VPN 连接时,该更改破坏了我的文档管理应用程序中的文件传输。富客户端和我的应用服务器之间的通信使用Springs HttpInvoker实现,文件传输使用RMIIO。RemoteInputStream 只是我模型对象上的一个属性,它代表我传输的文件。
所以无论如何,我必须替换 RMIIO(DirectRemoteInputStream 不是这里的解决方案)并使用纯 HTTP 流。我想将流中的序列化模型对象和二进制数据发送到服务器,到目前为止使用多部分请求可以正常工作:
工作正常,我可以将模型对象和二进制数据发送到应用程序服务器。但是如何做相反的事情——在一个响应中返回一个模型对象和二进制数据?我读到了多部分响应以及它们如何被多个浏览器使用,但是如何使用 commons-httpclient 实现它 - 甚至更甜,使用 springs RestTemplate?
javascript - XHR 流媒体设计关闭连接?
我正在阅读这篇文章:http ://blog.pusher.com/what-came-before-websockets /,下面的文字引起了我的注意:
XHR Streaming 在所有浏览器中都有效,XMLHttpRequest 对象的 responseText 将继续增长,直到连接关闭,这意味着最终必须强制重新连接以清除此缓冲区。
如果我理解正确,这是否意味着每当缓冲区达到一定大小时(顺便说一下,这里的实际大小是多少?),连接将自行重置以清除此缓冲区?换句话说,XHR 流与这个缓冲区的大小一样长?
有人可以确认这一点。
java - 在 java BufferedReader 中捕获连接问题(和网络 I/O 问题)?
注意:用 Scala 表示。使用 aBufferedReader
处理压缩后的 HTTP 流并遍历每一行以读取传入数据。问题是,如果由于网络 I/O 问题(提供商有时会做奇怪的事情)而重置连接,那么我可以看到连接在超时前保持打开状态长达 15 秒,这是我想要的降至 1 秒。出于某种原因,我们的办公室提供商每 11 小时重置一次连接。
这是我处理连接的方式:
这里getConnection
定义:
总结一下:通过java.io.BufferedReader
. 在流上保持活动状态为 16 秒,但为了防止进一步的数据丢失,我希望将其缩小到 1-2 秒(基本上检查流当前是否为空白或网络 I/O)。中间的某些设备每 11 小时终止一次连接,如果有一个有意义的解决方法来最大程度地减少数据丢失,那就太好了。在HttpURLConnection
连接上没有收到“终止信号”。
谢谢!
ios - 增加 HLS(Apple HTTP Live Stream)的视频缓冲区,可能吗?
我们在服务器中使用 Wowza 3.5 流式传输视频,并使用 JW Player 播放器。
在 iPhone 和 iPad 上观看时,视频流工作正常。
我们现在要做的是,当视频在 iOS 设备上播放并且用户暂停它时,我们希望视频在暂停时缓冲(下载),这样即使用户失去与互联网的连接,他仍然可以观看视频直到。目前它只缓冲 30 秒到 1 分钟。
我们如何增加这个缓冲时间以在播放器暂停时缓冲/下载整个视频?
这在 HLS 中甚至可能吗?
django - 使用 Django 1.5 StreamingHttpResponse 传递 reportlab pdf
只是想知道是否有人使用 reportlab 和 Django 1.5 支持的新 StreamingHttpResponse 对象完成了 pdf 生成;
https://docs.djangoproject.com/en/dev/ref/request-response/#streaminghttpresponse-objects
我使用 Django 文档中描述的正常方式生成大量 pdf,并使用 HttpResponse 作为类文件对象;
https://docs.djangoproject.com/en/1.5/howto/outputting-pdf/
现在只是想知道是否可以使用 Django 中的新流对象,即使这是一个好主意?
/ 延斯
jetty - 如何控制码头中的块?
我正在编写可能需要很长时间才能产生结果的 HTTP Web 服务。我使用嵌入式 Jetty 8.1.5 和 JAX-RS (Apache CXF)
我决定采用某种控制协议:当新请求到来时,我在一个单独的线程中开始一个长时间运行的作业,并定期以当前状态写入 HttpOutputStream 行(“CONTROL_MESSAGE:42% 完成”)
问题是 Jetty 在这里使用块编码,所以我的状态消息被缓冲并且没有用,因为它们都可以缓冲在一个块中,为客户端提供没有进展。
我不能使用 Content-Length 属性,因为我不知道最终结果的长度。HttpOutputStream.flush() 不起作用,因为 Jetty 使用内部缓冲区。
正如我所看到的,我需要一种方法来告诉 Jetty“请完成当前块并刷新它”,但不知道如何。
ios - AVPlayer seekToTime:不使用缓冲区
我正在开发一个使用HTTP Live Streaming技术播放视频的应用程序。
为此,我使用AVPlayer,其初始化如下:
[[AVPlayer alloc] initWithURL:[NSURL URLWithString:VIDEO_URL]];
然后我检查缓冲区的状态,self.player.currentItem.loadedTimeRanges
并在我的自定义视图上显示这个范围。
问题是,当在 加载的区域中倒带时[self.player seekToTime:timeToSeek
toleranceBefore:kCMTimeZero
toleranceAfter:kCMTimeZero];
,加载视频就像它不在缓冲区中一样开始。