我想在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