我想在C#中接收一个tcp数据包,但我不知道什么时候可以停止从流中读取数据。 这是我已经试过:如何知道流已经结束C#
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);
}
有什么关系吗? 谢谢:)
为什么你不是Google的“如何从C#中的TCP流读取”?必须有1000多种解释。 – usr 2012-02-27 17:58:02
我相信设置k等于chunkSize可能会有问题。看看stream.Read()返回的是什么。它并不总是等于你所期望的。 – Jason 2012-02-27 17:59:55