Передача файла по протоколу UDP - C#

Узнай цену своей работы

Формулировка задачи:

Сервер передает файл клиенту если его размер файла больше 8192 байта то файл разбивается на части. С этим все в порядке но вот со сборкой файла на стороне клиента возникли проблемы Вот код клиента
if (fDet.FILESIZE >= 8192) 
            {
                fs = new FileStream("C:\\2."+fDet.FILETYPE, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
                while (true)
                {
                    
                    try 
                    {
                        receiveBytes = receivingUdpClient.Receive(ref RemoteIpEndPoint);
                        if (receiveBytes != null)
                        {
                            richTextBox3.Text += "Pack №";
                            a = a + 1;
                            richTextBox3.Text += a;
                            richTextBox3.Text += " here\n";
                        }                            
                            fs.Write(receiveBytes, 0, receiveBytes.Length);
                    }
                         
                    catch(Exception e)
                    {
                    richTextBox3.Text+=e.Message;
                    richTextBox3.Text +="\n";
                    }
                } 
            }
Не могу организовать выход из цикла((( Заранее спасибо

Решение задачи: «Передача файла по протоколу UDP»

textual
Листинг программы
if (fDet.FILESIZE >= 8192) 
{
    fs = new FileStream(
        "C:\\2."+fDet.FILETYPE, 
        FileMode.OpenOrCreate, 
        FileAccess.ReadWrite, 
        FileShare.ReadWrite
    );
    while (true)
    {       
        try 
        {
            receiveBytes = receivingUdpClient.Receive(ref RemoteIpEndPoint);
            if (receiveBytes != null)
            {
                richTextBox3.Text += "Pack №";
                a = a + 1;
                richTextBox3.Text += a;
                richTextBox3.Text += " here\n";
            }                            
            fs.Write(receiveBytes, 0, receiveBytes.Length);         
            if (receiveBytes.Length < 8192) 
                break; //вот он, выход из цикла!
        }
             
        catch(Exception e)
        {
        richTextBox3.Text+=e.Message;
        richTextBox3.Text +="\n";
        }
    } 
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы