【发布时间】:2012-04-03 22:50:51
【问题描述】:
有问题的数据是一个 PNG 文件,其大小为 int。
-Sending:
ns.Write(BitConverter.GetBytes((int)data.Length),0,4);
ns.Write(data, 0, data.Length);
-Reading:
byte[] sizearray = new byte[4];
ns.Read(sizearray, 0, 4);
int dataSize = BitConverter.ToInt32(sizearray,0);
byte[] data = new byte[dataSize];
ns.Read(data, 0, dataSize);
然后将接收到的数据保存到文件中。我也用 BeginRead/EndRead 尝试过,结果相同。
问题是,虽然这适用于大多数较小的图像,但它不会收到超过几 KB 的图像。 dataSize 读取正确,但每次几千字节后(~2900),其余接收到的数据为0。Example
我是否忽略了一些事情,例如一次可以发送多少的限制?
【问题讨论】:
-
您是否正在刷新/关闭流?
标签: c# networkstream