问题标签 [pushstreamcontent]

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 投票
1 回答
1281 浏览

c# - 流式传输 Json - 带有大对象的 PushStreamContent

我需要流式传输一个大对象。我无法弄清楚如何分块发送。发布的代码有效,但是stream.Flush()只被调用一次。所以,基本上我正在缓冲对象 - 不好。如何多次调用stream.Flush() ?如果我有一个集合,我可以循环流式传输/刷新。那么我该如何处理一个大对象呢?

服务器代码:

客户代码(此处未进行流式传输,但需要):

0 投票
1 回答
677 浏览

c# - JSON 对象创建 PushStreamContent

我有 asp.net web api 并有一个HTTPResponseMessage和 api 方法名称GetPersonDataStream,它实际上将每个人对象作为 json 流式传输。因此,当我看到结果时,实际数据已像两个单独的对象一样构造,两个对象之间没有逗号,它不是按照我的要求构造的。

实际流数据: {"Name":"Ram","Age":30}{"Name":"Sam","Age":32}

但我希望将其作为正确的 JSON 流式传输,如下所示:

有没有办法我们可以实现它。下面是我用来流式传输数据的代码,因为记录的数量将达到数百万,我不想一次创建所有对象然后流式传输它,因为这可能会导致 Syste.OutOfMemory Exception 。那么有没有一种方法可以在流式传输之前编辑/构造对象。如果是,我该如何实现。

代码:

0 投票
1 回答
472 浏览

c# - 使用 HttpClient 和 PushStreamContent 将实时音频文件发送到 REST 服务器

我需要将音频数据从麦克风流式传输到 REST 服务器。

我正在使用专有的 ASR 引擎,需要收集数据,然后通过对 PostAsync 的一次调用实时流式传输它 在线查看,我发现有关 PushStreamContent 的文章,但要么我没有正确使用它 我不明白我的意思我在做(或两者兼而有之)。

我有一个名为 stream_memory 的 MemoryStream,我不断地从主线程向其中写入数据,并且我想在数据流式传输时读取它,并在单个帖子中实时发布。在下面的示例中,我还使用了事件 stream_data_event 和对象锁来防止多个线程同时写入 MemoryStream。每次读取时我都会清除内存流,因为之后我不需要数据。

这是我在自己的线程中运行的代码片段:

对 PostAsync 的调用按预期调用 PushStreamContent 的代码。但是,只要我在 while 循环中,就不会向服务器发送任何内容(在 wireshark 上检查)。如果我在调试器中手动退出循环并在流上调用 close,则 PostAsync 存在,但没有任何内容发送到服务器。

我需要有一种方法可以在 PostAsync 中继续流式传输信息,并在音频到达时让数据输出。

有任何想法吗?

0 投票
2 回答
866 浏览

c# - 将同一帖子中的 StringContent 和 StreamContent 发送到服务器

我想将字符串参数和文件发送到网络服务器。我的 streamContent 出错 这是我的代码

这是一个错误的屏幕截图:System.ObjectDisposedException https://i.imgur.com/IHspYbB.jpg

0 投票
1 回答
254 浏览

c# - Web API 从缓冲区流式传输图像

出于某种原因,我无法让下面的代码工作。我正在尝试通过 HTTP 将图像流式传输到浏览器。

databuffer.Get() 不断被带有位图帧的相机填充。

当我运行上面的代码时,所有编译都很好。但是当我使用 chrome 导航到 URL 时,它不会显示图像。

0 投票
0 回答
59 浏览

c# - 传递给 PushStreamContent 的 Action 是否保证被调用?

WebApiPushStreamContent接受Action<>名为Func<>“onStreamAvailable”并且应该是

当输出流可用时调用,允许操作直接写入它。

是否保证会调用该 Action(或 Func)?

在用户点击服务器上开始流式传输的链接后快速关闭浏览器的情况下,WebApi 框架是否可能根本不会调用 lambda?

背景:将某个句柄传递给是非常非常方便Action的,但绝对必须这样Close做。在根本不调用 lambda 的情况下,我们最终会得到一个泄漏的句柄。