Передача файла по сети через сокеты - C#

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

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

Мне интересно, как сделать передачу бинарного файла по сети с помощью UDP сокетов. Реализовал функцию чтения байтов из файла. Вот она:
public byte[] ReadFile(string fileName)
        {
            Stream s = new FileStream(fileName, FileMode.Open);
            BinaryReader reader = new BinaryReader(s);
            byte[] file = reader.ReadBytes(Convert.ToInt32(s.Length));
            return file;
        }
Теперь возникли такие вопрос: как передать эти байты через сокет на другой компьютер? Как передать понял. Делаю так:
public byte[] ReadFile(string fileName)
        {
            Stream s = new FileStream(fileName, FileMode.Open);
            BinaryReader reader = new BinaryReader(s);
            byte[] file = reader.ReadBytes(Convert.ToInt32(s.Length));
            return file;
        }
        public void Send(string FileName, IPAddress ip, int port)
        {
            IPEndPoint ippoint = new IPEndPoint(ip, port);
            Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            s.SendTo(ReadFile(FileName), ippoint);
        }
А как принять файл с другого компьютера?
Что, ни у кого нет идей?

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

textual
Листинг программы
public void Listen()
        {
                UdpClient listenClient = new UdpClient(15000);
                IPEndPoint point = new IPEndPoint(IPAddress.Any, 15000);
                byte[] message = listenClient.Receive(ref point);
                listenClient.Close();
}

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


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

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

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