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:
// 此属性的任何用法。

就是不知道啊

Stream str = tempTc.GetStream();
byte[] tempBuf = new byte[tempTc.ReceiveBufferSize];
int i = str.Read(tempBuf, 0, tempBuf.Length);
//i就是‘/0’前面的长度

你在接收数据的时候,不要读取receiveBufferSize的大小,尝试读取数据的长度.或者你设定receiveBufferSize大小为4字节.

从你贴的东西,啥也看不出来.

有可以自己设定的,你把参数再看下,重新设定