Ошибка OutOfMemoryException при передаче больших файлов - C#
Формулировка задачи:
Приветствую! Используя приложение (клиент сервер), при передаче больших файлов выходит ошибка:
Выдано исключение типа "System.OutOfMemoryException"
Что с памятью не так?
Решение задачи: «Ошибка OutOfMemoryException при передаче больших файлов»
textual
Листинг программы
- TcpListener Listen = new TcpListener(localAddr, 6999);
- Listen.Start();
- Socket ReceiveSocket;
- while (true)
- {
- try
- {
- ReceiveSocket = Listen.AcceptSocket();
- Byte[] Receive = new Byte[256];
- Byte[] paket = new Byte[12];
- using (MemoryStream MessageR = new MemoryStream())
- {
- Int32 R=0;
- ReceiveSocket.Receive(paket, paket.Length, 0);
- ushort id = BitConverter.ToUInt16(paket, 0);
- long len = BitConverter.ToInt64(paket, 2);
- ushort nameLen = BitConverter.ToUInt16(paket, 10);
- Byte[] dop = new Byte[nameLen];
- ReceiveSocket.Receive(dop, nameLen, 0);
- string fileName = Encoding.UTF8.GetString(dop, 0,nameLen);
- MessageBox.Show(fileName);
- //Количество считанных байт
- Int32 ReceivedBytes;
- do
- {
- ReceivedBytes = ReceiveSocket.Receive(Receive, Receive.Length, 0);
- MessageR.Write(Receive, 0, ReceivedBytes);
- } while (ReceivedBytes == Receive.Length);
- using (var File = new FileStream(fileName, FileMode.Create))
- {
- File.Write(MessageR.ToArray(), 0, MessageR.ToArray().Length);
- }
- ChatBox.BeginInvoke(AcceptDelegate, new object[] { "Received: " + fileName, ChatBox });
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д