C# TCP编程 NetworkStream 的大小?
来源:百度知道 编辑:UC知道 时间:2024/07/06 13:46:07
TCPClient的ReceiveBufferSize 默认是8192
如果接收的只是4个字节 它后面全部自动补成\0\0\0\0\0\0\0\0\0\0\0\0...
直到8192
或者指定接收的长度 比如1024. 效果也一样.
能不能做到有多少就接收多少?
//
// 摘要:
// 获取流上可用数据的长度。此属性当前不受支持,总是引发 System.NotSupportedException。
//
// 返回结果:
// 流上可用数据的长度。
//
// 异常:
// System.NotSupportedException:
// 此属性的任何用法。
就是不知道啊
如果接收的只是4个字节 它后面全部自动补成\0\0\0\0\0\0\0\0\0\0\0\0...
直到8192
或者指定接收的长度 比如1024. 效果也一样.
能不能做到有多少就接收多少?
//
// 摘要:
// 获取流上可用数据的长度。此属性当前不受支持,总是引发 System.NotSupportedException。
//
// 返回结果:
// 流上可用数据的长度。
//
// 异常:
// System.NotSupportedException:
// 此属性的任何用法。
就是不知道啊
Stream str = tempTc.GetStream();
byte[] tempBuf = new byte[tempTc.ReceiveBufferSize];
int i = str.Read(tempBuf, 0, tempBuf.Length);
//i就是‘/0’前面的长度
你在接收数据的时候,不要读取receiveBufferSize的大小,尝试读取数据的长度.或者你设定receiveBufferSize大小为4字节.
从你贴的东西,啥也看不出来.
有可以自己设定的,你把参数再看下,重新设定