使用TCP
客戶端時,NetworkStream.read
方法通常不會返回完全填充的緩衝區。我怎樣才能讓它阻止進一步的執行,直到寫完整個數組?通過Tcp客戶端讀取大數據包
byte[] datagramByteForm = new byte[dgramSizeInt];
int j = dataIOStream.Read(datagramByteForm, 0, datagramByteForm.Length);//read the actual datagram
if (j != datagramByteForm.Length)
{
throw new Exception("Connection j value: " + j + " expected amount: " + datagramByteForm.Length);
}
也許'BytesAvailable'小於dgramSizeInt。 – aghilpro
我通常使用'TcpClient',可以設置'tcpClient.Client.ReceiveBufferSize = 20000;' – aghilpro
緩衝區大小不是這裏的問題 – user3488765