Я передаю файл через NetworkStream, и кажется, что когда размер файла превышает 5-10 КБ, файл начинает пропускать данные и / или имеет огромные пробелы.
Вот что у меня есть:
private string ReadandSaveFileFromServer(TcpClient clientATF, NetworkStream currentStream, string locationToSave)
{
int fileSize = 0;
string fileName = "";
int bytesRead = 0;
fileName = ReadStringFromServer(clientATF, currentStream);
fileSize = ReadIntFromServer(clientATF, currentStream);
FileStream fs = new FileStream(locationToSave + "\\" + fileName, FileMode.Create);
byte[] fileSent = new byte[fileSize];
while (currentStream.DataAvailable)
{
if (clientATF.Connected)
{
bytesRead = currentStream.Read(fileSent, 0, fileSent.Length);
fs.Write(fileSent, 0, fileSent.Length);
}
else
{
break;
}
}
fs.Flush();
fs.Close();
return fileName;
}