Opt*_*max 5 c# network-programming networkstream tcpclient binaryreader
我使用围绕构建的网络协议TcpClient,BinaryReader用于从底层读取字节NetworkStream(相反,BinaryWriter用于写入)。
该协议以UTF-8编码传输字符串,并正在调用reader.ReadString()以从流中读取它们(writer.Write(someStr)用于写入)。
是否有一种简单的方法来确定从NetworkStream读取(或写入)的字节数,而不必跳过箍来计算所传输字符串的实际字节长度?
请注意,BinaryWriter.Write()在字符串的实际字节之前写入一个7位编码的整数,这会使任何手动计算变得更加复杂。
另请注意,NetworkStream该Position属性不支持该属性,因为它抱怨无法使用Seek。
此外,我想避免将必须复制/扫描数据的中介引入到读/写过程中,以免影响整个系统的性能。
是否有一种简单,高级的方法来计数通过网络接口传递的字节,而无需手动考虑字符串的编码和长度?