Tag: 缓冲

在进行网络I / O时是否缓冲了Stream.Read?

所以我最近做了一些工作,当有人告诉我,如果在网络流上做一个Stream.Read是通过在WebResponse上调用.NET的一个GetResponseStream获得的,或者那些是缓冲的。 他说如果你要在你正在阅读的代码中设置一个断点,你就不会停止网络流量。 我发现这很奇怪,但也希望这是真的。 这是如何运作的? 它甚至准确吗? using (Stream webResponseStream = this.webResponse.GetResponseStream()) { byte[] readBuffer = new byte[bufferSize]; int bytesRead = webResponseStream.Read(readBuffer, 0, bufferSize); while (bytesRead > 0) { bytesRead = webResponseStream.Read(readBuffer, 0, bufferSize); // If I put a breakpoint here, does network activity stop? } }

C# – 从串口缓冲区读取

我正在尝试从RS-232端口读取数据。 有没有人有一个如何从端口/缓冲区获取数据的例子,并确保我拥有所有数据,因为它可以是多行数据。 我只是按如下方式阅读? string Rxstring = port.ReadLine(); Console.WriteLine(Rxstring);

如何在Process.StandardOutput中禁用输出缓冲

这个问题不止一次被问过,但我没有在任何讨论中找到满意的答案。 我正在启动一个命令行过程,它可以对STDOUT进行实时测量,大约每秒产生一个新结果。 使用System.Diagnostics.Process.StandardOutput导致完全不可接受的延迟(超过20秒),因为STDOUT数据通过Process.StandardOutput StreamReader中的4k缓冲区工作,并且似乎没有任何方法可以解决这个问题。 调用Process.StandardOutput.BaseStream.Flush()不起作用。 我试过对Process.StandardOutput进行逐字节同步读取,但是我仍然比实际输出落后4k。 任何人至少可以validation我有可能以某种方式克服我重定向STDOUT时遇到的所有缓冲问题,并且一旦它出现在shell窗口中就会在我的应用程序中接收数据吗? 我可以inheritanceProcess类并更改StandardOutput流读取器的行为吗? 我是否需要查看原始WINAPI调用? 不知何故,这必须要完成,即使我最终编写非托管C ++来启动任务并使用输出,并将其连接起来。任何帮助都非常感谢; 我的智慧结束了…… 编辑:看来我需要的是可用于C / C ++,Perl,Python和Java的“期望”库的.Net实现(这是迄今为止我发现的唯一库)。 有谁知道这样的野兽是否存在?