Передача данных по 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();
}
}