我可以确定是否从SecureStream
意志块中读取单个字节吗?底层流是 a NetworkStream
,它具有DataAvailable
属性,但我希望SecureStream
需要缓冲字节才能正确操作,所以我认为我不能依赖底层流的DataAvailable
.
或者,有什么方法可以执行Read
永远不会阻塞的操作吗?我很确定没有;我一直讨厌这个Stream
API,但也许我错过了什么?
原因:我们有一个 TCP 服务器实现,它具有高度优化的处理请求的路径。特别是,原始代码总是用于BeginRead
每个请求,但我发现Read
只要数据已经可用(这种情况总是发生在短请求中)替换它,我们的最大吞吐量提高了 20% 以上。我想对这段代码的 SSL 变体做同样的事情。