Передача данных по UDP - C#

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

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

Ребята привет. Вот такая проблема в программе. Файл отправляется в никуда.

Решение задачи: «Передача данных по UDP»

textual
Листинг программы
static void Main(string[] args)
    {
        try
        {
            byte[] data = new byte[1024];
            string input, stringData;
 
            Console.WriteLine("Введите удаленный IP-адрес");
            remoteIPAddress = IPAddress.Parse(Console.ReadLine().ToString());
            endPoint = new IPEndPoint(remoteIPAddress, remotePort);
            string addr = Console.ReadLine();
            //endPoint = new IPEndPoint(remoteIPAddress, remotePort);
            if (addr == "") addr = "127.0.0.1";
 
            UdpClient server = new UdpClient(addr, 9050);
            IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
 
            string welcome = "Клиент подключился";
            data = Encoding.UTF8.GetBytes(welcome);
            server.Send(data, data.Length);
 
            data = server.Receive(ref sender);
 
            Console.Write("Сообщение принято от {0}: ", sender.ToString());
            stringData = Encoding.UTF8.GetString(data, 0, data.Length);
            Console.WriteLine(stringData);
 
            while (true)
            {
                Console.WriteLine("Введите путь к файлу и его имя: ");
                fs = new FileStream(@Console.ReadLine().ToString(), FileMode.Open, FileAccess.Read);
 
                if (fs.Length > 8192)
                {
                    Console.Write("Файл должен весить меньше 8кБ");
                    server.Close();
                    fs.Close();
                    return;
                }
 
                SendFile();
                Console.ReadLine();
            }
        }
            catch (Exception eR)
            {
                Console.WriteLine(eR.ToString());
            }
            
    }
        private static void SendFile()
        {
            Byte[] bytes = new Byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
 
            Console.WriteLine("Отправка файла размером" + fs.Length + "байт ");
            try
            {
                sender.Send(bytes, bytes.Length, endPoint);
            }
            catch (Exception eR)
            {
                Console.WriteLine(eR.ToString());
            }
            finally
            {
                fs.Close();
                sender.Close();
            }
            Console.WriteLine("Файл успешно отправлен");
            Console.Read();
 
        }
 
        
    }

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


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

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

10   голосов , оценка 3.8 из 5