Задать вопрос
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);
                    }
                }


Проблема в том, что я не понимаю, как отправить несколько файлов друг за другом и как отправить их размер и имя. Буду очень признателен за помощь.
  • Вопрос задан
  • 355 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    Разработчик игр на Unity + ИИ
    6 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    C# для разработки игр
    5 месяцев
    Далее
Решения вопроса 1
unmorsino
@unmorsino Куратор тега C#
Точу водой камень
Сначала слать размер файла затем файл. Вычитывать размер, вычитывать заданное количество байт и снова вычитывать размер и т. д.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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