我有一个问题,以获得我的应用程序的正确的缓冲区大小。 我从网站上读到的关于指定缓冲区大小的内容通常在阅读之前进行声明。C#Networkstream BeginRead如何获取缓冲区长度/大小?
byte[] buffer = new byte[2000];
然后用来得到结果。 但是,一旦收到的数据包含'00',此方法将停止,但是我的返回码包含类似这样的内容...... 5300000002000000EF0000000A00。和长度不是固定的,可以是该短直到400个字节
所以存在的问题来了,如果我定义如上,例如2000预先固定的长度,返回值是 5300000002000000EF0000000A000000000000000000000000000000000000000000000000000 ......... 因此使我无法将字节拆分为正确的数量。
任何一个可以告诉我如何从网络流或任何方法/作弊获得我需要的实际接收到的数据大小?
在此先感谢。
让我们了解您有。 – fredrik 2014-10-30 10:03:36
基本上什么都没有,我可以在这里显示,因为我卡住了,根本无法继续。我写的唯一和这个主题相关的是 'tcpstream.BeginRead(readbuffer,0,(int)tcpsocket。ReceiveBufferSize,新的AsyncCallback(ReceiveCallBack),tcpstream);' 我被卡在ReceiveCallBack方法中,因为完全无法处理传入的数据 – doppleganger 2014-10-30 10:06:37
'NetworkStream'继承'Stream',所以'Stream.Length'将包含长度流如果知道。 – aevitas 2014-10-30 10:10:34