NetworkStream ns=tcpclient.GetStream();
//中略
do
{
ns.Read(data,0,data.Length)
}while(ns.DataAvailable)
のようにTcpClientを使って、受信するプログラムを作っているのですが
受信するサイズが大きくなると、受信が終わらないうちにDataAvaiableがfalseになって
受信が終わってしまいます。

よい解決策はありませんか?