gpt4 book ai didi

c# - 使用 BufferedStream 包装 NetworkStream 以进行异步读取是否安全?

转载 作者:太空狗 更新时间:2023-10-29 19:46:07 31 4
gpt4 key购买 nike

我正在使用 NetworkStream.BeginReadSocket 异步读取。

但是如果你真的用 BufferedStream 包装网络流,它会快得多。

我的问题:NetworkStream.BeginRead 在内部调用 Socket.BeginReceive 和整个异步 IO 堆栈(Windows 上的 CompletionPorts 等)。当 BufferedStream 在中间时会发生同样的情况吗?

最佳答案

BufferedStream 不支持高效的异步IO。它使用从 Stream 类继承的默认实现。它将在线程池上发出同步 IO。所以你不会得到 IO 完成端口。您需要自己完成这项工作。如果您使用的是 C# 5,您几乎可以重用 BufferedStream 的实现并尝试使用 async 和 await。

关于c# - 使用 BufferedStream 包装 NetworkStream 以进行异步读取是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9746355/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com