如何将写入流 1 的内容通过管道传送到流 2 中?

2023-12-24

这是我的场景:

producer.WriteStream(stream);
consumer.ReadStream(stream);

我想要的东西允许由生成的字节producer将逐步转移至consumer.

我可以将所有内容写入MemoryStream,然后倒回并在consumer,但这会导致巨大的内存消耗。

我怎样才能实现这个目标?


使用管道作为数据的底层传输,您可以拥有允许此类通信机制的“写入流”(服务器)和“读取流”(客户端)。

使用匿名管道或命名管道(如果需要进程间通信),这很简单。要创建管道流:

AnonymousPipeServerStream pipeServer = new AnonymousPipeServerStream();
AnonymousPipeClientStream pipeClient =
  new AnonymousPipeClientStream(pipeServer.GetClientHandleAsString());

现在您可以使用它们来写入和读取:

producer.WriteStream(pipeServer);
// somewhere else...
consumer.ReadStream(pipeClient);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将写入流 1 的内容通过管道传送到流 2 中? 的相关文章

  • 值类型如何实现引用类型

    我遇到了一个值类型正在实现 ref 的场景 类型 只是想知道这怎么可能 幕后发生了什么 结构体是值类型 接口是引用 类型但结构可以实现接口而不会出现任何错误 有什么想法吗 提前致谢 实际上 它同时以两种不同的方式进行 首先 任何值类型都可以
  • C 中的 '\0' 和 printf()

    在 C 入门课程中 我了解到在存储字符串时存储空字符 0在它的最后 但是如果我想打印一个字符串怎么办 printf hello 虽然我发现它并没有结束 0通过以下声明 printf d printf hello Output 5 但这似乎不
  • 将视频上传/保存到数据库或文件系统

    我以前从未尝试过保存视频 所以我对此了解不多 我知道如果视频很小 我可以转换为字节数组并保存到数据库 但是为了提高效率 我想了解如何将任何上传的视频保存到我的服务器文件中 然后只保存该文件的文件路径我的数据库表中的视频 我完全不知道如何开始
  • 多选DataGridView没有CTRL键没有闪烁?

    我在表单 Form1 vb 上有一个 DataGridView 控件 需要允许用户在不使用 CTRL 键的情况下多选行 没有可用的键盘 他们使用触摸屏 我已启用 mutliselect 属性 并在 Form 类中包含以下代码 我的 Data
  • 如何生成可变参数包?

    给定不相关的输入是否可以生成非类型参数包 我的意思是 我想改变这一点 template
  • 将 std::pair const 转换为 std::pair const 安全吗?

    理论上或实践上 安全吗reinterpret cast a std pair
  • Cookie 在 ASP.net 中失去价值

    我有以下设置 cookie 的代码 string locale DropDownList this LoginUser FindControl locale SelectedValue HttpCookie cookie new HttpC
  • 在 Linq 查询中使用动态列名称

    foreach Dimension dimensions in Enum GetValues typeof Dimension var r new ReferenceTable dimensions referenceItems List
  • 当分配返回 0 时,具有空异常规范的运算符 new 调用构造函数

    我有以下声明 void operator new size t s PersistentMemory m throw return m gt allocatePersistentMemory s 我正在测试启动时的内存耗尽 这会导致m gt
  • 检查 SSRS 报告自定义代码中的 Active Directory 组成员资格表单

    我正在构建 SQL Server Reporting Services SSRS 报告 查看报告的最终用户可以选择某些输入参数 在本例中为位置 用户可以选择的位置取决于 Active Directory 组成员身份 因此我尝试在自定义报告功
  • C++ 模板参数数量错误(2,应该是 1)

    我使用 C 并行快速排序程序进行了测试 如下所示 首先使用列表作为容器 然后我转移到通用容器类型 但它报告了标题错误 可以帮忙解决这个问题吗 include
  • 使用“const cv::Mat &”、“cv::Mat &”、“cv::Mat”或“const cv::Mat”作为函数参数的区别?

    我已经彻底搜索过 但没有找到一个简单的答案 传递 opencv 矩阵 cv Mat 作为函数的参数 我们传递一个智能指针 我们对函数内部的输入矩阵所做的任何更改也会改变函数范围之外的矩阵 我读到 通过将矩阵作为 const 引用传递 它不会
  • 从 RichTextBox 复制文本及其格式

    如何将 RichTextBox 中的文本及其格式复制到写字板或网络浏览器 就像复制纯文本一样 您可以使用Clipboard SetText method http msdn microsoft com en us library 6eahs
  • 如何在realm-dotnet中存储System.Collections.Generic.Dictionary

    我正在尝试将 Realm NET 集成到我的 uwp 项目中 我想知道是否有任何方法可以在 Realm dotnet 库中存储 System Collections Generic Dictionary 我试过这个 public class
  • 如何使用 .NET 捕获我的桌面视频?

    我想知道是否有任何方法可以使用 NET 捕获我的桌面的视频 截屏视频 我并不是在寻找截屏软件 而只是在寻找一种可以让我自己生成桌面视频的技术 我想过拍摄多个屏幕截图 但我不确定如何以编程方式生成带有图像序列的视频 有人有主意吗 Thanks
  • 调用泛型类的方法

    这是上下文 我尝试编写一个映射器来动态地将域模型对象转换为 ViewModel 对象 我遇到的问题是 当我尝试通过反射调用泛型类的方法时 出现此错误 System InvalidOperationException 无法对 Contains
  • 从数据库配置中的连接字符串中删除 SSIS 密码

    我有一个 SSIS 包 它使用 SQL 服务器中的 SSIS 配置表来检索 OLE DB 连接管理器的连接字符串属性 问题是我还需要相同的连接字符串来调用使用实体框架的程序集 我尝试访问连接管理器连接字符串属性 但 SSIS 总是删除密码
  • 打印任何类型的数组和列表的通用方法[重复]

    这个问题在这里已经有答案了 每当我调试一段涉及整数 双精度 字符串等数组或列表的代码时 有时我更喜欢打印它们 我为此所做的是为不同类型编写重载的 printArray printList 方法 for e g 我可能有这 3 种方法来打印各
  • DbContext.SaveChangesAsync 异常处理

    当搭建新的脚手架时ApiController通过 Visual Studio 2013 中的异步操作和实体框架支持 某些方法可以包装DbContext SaveChangesAsync https msdn microsoft com en
  • 从其对象获取结构体字段的名称和类型

    例如 我有一个类似这样的结构 struct Test int i float f char ch 10 我有一个该结构的对象 例如 Test obj 现在 我想以编程方式获取字段名称和类型obj 是否可以 顺便说一句 这是 C 你正在要求C

随机推荐

  • CNContact 最后修改日期和联系人更改

    问题 如何在 CNContact 新的苹果联系人框架 中获取最后修改日期 最后修改日期不存在于keysToFetch 列表中 我想获取并更新自上次获取以来已修改的联系人 我怎样才能做到这一点 根据苹果员工的回复 目前还没有相关的 api h
  • ruby - 获取按日期过滤的记录

    我有一个 作业 模块 以及数据库中的相应表 该模块有一个名为cheduled run 日期时间 的字段和一个名为user id的字段 我怎样才能获得属于某个用户并安排在今天的所有工作 我怎样才能获得属于某个用户并安排在上周的所有工作 要获取
  • 一个文件中的多个 PHP 查询用于 AJAX 调用

    对于 AJAX 我完全是个菜鸟 只是想知道是否 创建 ajax 调用时 ajax type POST url http link to php file php data link variable 我是否必须创建多个 PHP 文件 每个文
  • Mockito - doReturn() 和when() 之间的区别

    我目前正在使用 Mockito 在 Spring MVC 应用程序中模拟我的服务层对象 我想在其中测试我的控制器方法 然而 当我阅读 Mockito 的细节时 我发现这些方法doReturn when 相当于when thenReturn
  • Spring Boot 与 Thymeleaf 帖子列表

    我想将字符串列表发布到我的控制器 但它总是只取第一个选择的值 我的百里香 html 表单
  • 如何使用 cefsharp 将输入传递给 javascript 函数

    我正在尝试将 CefSharp WebView 添加到我的 WPF 应用程序中 以代替我们使用的原始 WebBrowsers WebBrowser 有一个 InvokeScript 函数 http msdn microsoft com en
  • 在java中执行linux命令并将输出显示到html表

    我有jsp代码df h用于在网站上显示磁盘信息 如何使用表格将输出显示为 html 代码如下 String disk String line String process Process p BufferedReader input p R
  • 如何在 C# 中从单个完整路径创建多个目录?

    如果您有如下完整路径 C dir0 dir1 dir2 dir3 dir4 您将如何最好地实现它以便所有目录都存在 BCL中有这个方法吗 如果没有 最优雅的方法是什么 我会打电话Directory CreateDirectory C dir
  • 在Spring security中使用mysql数据库对用户进行身份验证?

    我想使用 Spring security 对我的 Web 应用程序中的用户进行身份验证 由于我不是 Spring 框架的成熟用户 我无法清楚地了解如何进行配置设置以使用 jdbc user service 我已经完成了以下配置 但它不起作用
  • 如何让 NHibernate 忽略 POCO 中的属性

    我们有 POCO 类似 public class Person public Guid PersonID get set public string FirstName get set public string LastName get
  • 使用 Powershell 脚本进行静默安装

    我正在尝试使用 PowerShell 无提示脚本安装一个客户端软件 下面是我创建的脚本 它不起作用并抛出如下错误 无法验证参数 ArgumentList 上的参数 参数为 null 空或参数集合的元素包含 null 值 提供一个不包含任何空
  • JavaScript DOM 对象到 jQuery 对象

    如何将 JavaScript DOM 对象转换为 jQuery 对象 tr function changeStatus myObject XXX removeClass XXX应该写什么 我知道我可以使用 id 和 id 选择器来解决问题
  • 缺少 Style.Triggers 和 x:Type。为什么?

  • 向服务器发送视频和音频流

    我正在尝试开发一个系统 其中有两个客户端可以通过服务器从浏览器相互视频聊天 第一个客户端将其视频流发送到服务器 服务器将其发送到第二个客户端 此外 服务器将客户端的流保存为视频文件 我使用了这个 WebRTC 示例 https github
  • 平台工具集 v140 和 v140_xp 之间有什么区别?

    以结尾的平台工具集之间有什么区别 xp以及那些没有的 例如 v140 vs v140 xp 为什么没有以以下结尾的工具集 vista or 7 当我在 Windows 7 上编译程序时v140工具集 它可以在 Windows XP Vist
  • 禁用 nginx 日志

    如何禁用 nginx 日志记录而不出现严重错误 error log off 不起作用 只是创建文件名 off 真的 不是开玩笑 error log dev null 不支持 操作系统 freebsd 我需要禁用子域的日志记录 http wi
  • 计算数组的位/字节大小

    我有一个 Javascript 数组 其中有很多子数组 计算数组拥有多少位 字节的最佳 最简单方法是什么 我要将数组发送到我的 PHP 服务器 它只能有 5kB 大 有没有本地方法 我对位不太熟悉 如果我理解正确的话 1 个字符适合 8b
  • Python:并行执行cat子进程

    我正在运行几个cat zgrep远程服务器上的命令并单独收集其输出以进行进一步处理 class MainProcessor mp Process def init self peaks array super MainProcessor s
  • 如何查找 Qt SDK 中使用的当前 QtWebKit 版本?

    我想知道 Qt SDK 中使用的 QtWebKit 模块的版本 谁能帮我吗 1 QTWEBKIT VERSION STR 宏给出 QtWebKit 版本 2 qWebKitVersion 给出使用的 webkit 版本
  • 如何将写入流 1 的内容通过管道传送到流 2 中?

    这是我的场景 producer WriteStream stream consumer ReadStream stream 我想要的东西允许由生成的字节producer将逐步转移至consumer 我可以将所有内容写入MemoryStrea