Задать вопрос
AVollane
@AVollane
Начинающий C# разработчик

Как передать несколько больших файлов по TCP при помощи .NET?

Здравствуйте. Мне нужно написать программу, которая будет рассылать видеофайлы по заданным адресам. Так как файлы должны приходить целыми, то было решено использовать протокол TCP. На данный момент я делаю что-то подобное:
_server.Connect(endPoint);
_server.SendFile(filePath);
_server.Close();

_server является объектом класса Socket.

На клиенте я принимаю файл вот так:
using (FileStream fs = new FileStream(
                    @$"D:\Repositories\VideoSenderClient\VideoSenderClient\ReceivedFiles\{System.Guid.NewGuid()}.txt",
                    FileMode.Create))
                {
                    NetworkStream ns = new NetworkStream(handler);
                    while (handler.Available > 0)
                    {
                        ns.Read(buffer, 0, buffer.Length);
                        fs.Write(buffer);
                    }
                }


Проблема в том, что я не понимаю, как отправить несколько файлов друг за другом и как отправить их размер и имя. Буду очень признателен за помощь.
  • Вопрос задан
  • 332 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
sarapinit
@sarapinit Куратор тега C#
Точу водой камень
Сначала слать размер файла затем файл. Вычитывать размер, вычитывать заданное количество байт и снова вычитывать размер и т. д.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы