Передача данных по 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д