Как отправлять папки в c # через TCP? - PullRequest
3 голосов
/ 25 апреля 2011

У меня проблемы с поиском способа отправки целых папок по TCP.Моя первоначальная идея заключалась в том, что отправитель отправляет строку, содержащую путь к указанному файлу, например C: // MyFolder / MySubFolder / MyFile, а затем получатель создает папки и подпапки.Затем отправитель продолжает отправку файлов, содержащих их каталог.

Я думаю, само собой разумеется, что это не лучший способ сделать это.Есть ли лучший подход?

РЕДАКТИРОВАТЬ:

Извините, если я был немного расплывчатым.У меня есть приложение для передачи файлов, которое отправляет / получает файлы, и я хочу добавить способ отправки целых папок.

Ответы [ 4 ]

2 голосов
/ 25 апреля 2011

Для этого нужен какой-то протокол передачи файлов (например, FTP).Используйте простую в настройке библиотеку FTP-сервера c # (т.е. такую: http://sourceforge.net/projects/csftpserver/) на стороне отправителя и используйте FtpWebRequest на стороне клиента для получения всей структуры папок.

1 голос
/ 25 апреля 2011

Вы смотрели на существующие протоколы для этой цели?Кажется, вы хотите клонировать FTP , возможно, с потоковым механизмом, таким как tar между ними.

1 голос
/ 25 апреля 2011

Используйте известные методы архивирования (zip, rar ...) и передавайте данные.Экстракт со стороны сверстников.Таким образом вы экономите:

  1. Реализация подверженного ошибкам рекурсивного шаблона.
  2. Ваша пропускная способность
0 голосов
/ 25 апреля 2011

Если вы рассматриваете возможность сжатия / сжатия: Вы можете взглянуть на класс GZipStream для этого.

http://www.geekpedia.com/tutorial190_Zipping-files-using-GZipStream.html

...