C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 通过NetworkStream的BinaryReader和BinaryWriter大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以使用相同的底层NetworkStream同时使用BinaryReader和BinaryWriter

>使用单个线程顺序隔行扫描读写?
>使用1个线程进行读取,使用1个线程进行写入?

(我的目标是通过TcpClient连接同时发送和接收数据)

到目前为止,我遇到了两个相关的帖子:

One引用NetworkStream docs

second引用了BinaryReader docs

我不是100%肯定如何解释这些引用,我不确定我的2个案例中哪一个是可能的.

解决方法

“是”是简短的答案; NetworkStream本质上充当双工流,读取操作与写入操作完全分开. BinaryReader只会使用read操作,而BinaryWriter只会使用write操作.像Length,Position和Seek这样的概念在NetworkStream上没有意义,也不受支持.所以:这里使用BinaryReader / BinaryWriter应该没有冲突.但是,与此同时,我可能会建议不要使用它们 – 只是因为它们通常实际上并没有使用原始Stream操作增加太多,并且与任意网络协议不兼容.如果你正在实现一些只使用你的代码自定义:你当然可能没事.

使用BinaryReader / BinaryWriter时触发Stream的警告仍然非常适用于其他一些流 – 例如FileStream:当读者/编写者认为它负责时,你可以通过重新定位流来轻易地破坏数据 – 并且因为有一个单一位置:这意味着读取会影响写入等.但是:这根本不适用于NetworkStream.在这方面:NetworkStream是例外,而不是规则:就你通常对Stream的期望而言,NetworkStream非常不寻常.

大佬总结

以上是大佬教程为你收集整理的c# – 通过NetworkStream的BinaryReader和BinaryWriter全部内容,希望文章能够帮你解决c# – 通过NetworkStream的BinaryReader和BinaryWriter所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: