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);
                    }
                }


Проблема в том, что я не понимаю, как отправить несколько файлов друг за другом и как отправить их размер и имя. Буду очень признателен за помощь.
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
sarapinit
@sarapinit Куратор тега C#
Точу водой камень
Сначала слать размер файла затем файл. Вычитывать размер, вычитывать заданное количество байт и снова вычитывать размер и т. д.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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