【发布时间】:2012-03-17 04:55:48
【问题描述】:
我正在尝试在 C# 中接收 tcp 数据包,但我不知道何时可以停止从流中读取。 这是我尝试过的:
for(int i = 0; i < stm.Length; i += chunkSize)
{
bb = new byte[chunkSize];
k = stm.Read(bb, 0, bb.Length);
ns.Write(bb, 0, k);
}
但它给我带来了一个错误,即流不可搜索。 所以我试过这个:
int k = chunkSize;
while (k == chunkSize)
{
bb = new byte[chunkSize];
k = stm.Read(bb, 0, bb.Length);
ns.Write(bb, 0, k);
}
有什么可做的吗? 谢谢:)
【问题讨论】:
-
你为什么不谷歌“如何从 C# 中的 TCP-Stream 读取”?必须有 1000ds 的解释可用。
-
我相信设置 k 等于 chunkSize 可能会有问题。看看 stream.Read() 返回什么。它并不总是符合您的预期。