【发布时间】:2010-01-22 16:14:35
【问题描述】:
我正在尝试使用 Jon Skeet 在他的 misc utils lib 中写的 EndianBinaryReader 和 EndianBinaryWriter。它非常适合我使用它的两种用途。
第一次读取来自网络流 (TCPClient) 的数据,我坐在循环中读取传入的数据。我可以创建一个 EndianBinaryReader,然后在关闭应用程序时将其处理掉.我通过传入TCPClient.GetStream 来构造EndianBinaryReader。
我现在尝试从 UdpClient 读取时做同样的事情,但这没有流,因为它连接较少。所以我得到这样的数据
byte[] data = udpClientSnapShot.Receive(ref endpoint);
我可以将这些数据放入内存流中
var memoryStream = new MemoryStream(data);
然后创建EndianBinaryReader
var endianbinaryReader = new EndianBinaryReader(
new BigEndianBitConverter(), memoryStream,Encoding.ASCII);
但这意味着我每次阅读时都必须创建一个新的字节序阅读器。有没有一种方法可以只创建一个流,我可以使用来自 udp 客户端的数据不断更新输入流?
【问题讨论】:
标签: c# endianness binaryreader