Как перенести большие файлы с рабочего стола на сервер (.NET) - PullRequest
2 голосов
/ 01 апреля 2010

Я пишу настольный клиент на основе .NET 2.0, который будет отправлять большие файлы (не более 2 ГБ) на сервер. Нужно также разработать сервер. Сервер может быть по любой технологии Это должно быть безопасно, поэтому необходим базовый поток SSL Какие у меня варианты. Любые очевидные предостережения и т.д., о которых я должен знать На мой взгляд, самое простое решение - открыть tcp \ ip-соединение через SSL с сервером и отправить n пакетов по байтам размера M, а затем сервер добавить к нему чанки и, наконец, также отправить пакет EOF

Это ужасно. Будет ли сервер высасывать из сервера все эти записи на диск? Какие есть еще умные варианты. Я ограничен .NET 2.0 на клиенте если я перейду к клиенту WCF, он купит что-то волшебное и классное для этого сценария Спасибо

Ответы [ 2 ]

4 голосов
/ 01 апреля 2010

Взгляните на службу BITS (Background Intelligent Transfer Service), которая уже установлена ​​на ваших компьютерах с Windows.Он используется многими подсистемами ОС, такими как Центр обновления Windows, для передачи больших объемов данных с использованием пропускной способности простоя сети.

Самым большим преимуществом использования чего-то вроде BITS является то, что передача прерывается и перезапускается - частичные загрузки сохраняются и объединяются, когда передача возобновляется позже.

Обычно вы думаете о BITS как о передаче файлов изсервер до клиентского компьютера, но, очевидно, BITS можно использовать для загрузки с клиента на сервер - существуют сторонние утилиты, которые используют BITS для загрузки, включая загрузчик YouTube.

Подробнее о BITS можно узнать наВикипедия: http://en.wikipedia.org/wiki/Background_Intelligent_Transfer_Service

1 голос
/ 01 апреля 2010

Вы можете использовать БИТЫ (Фоновая интеллектуальная служба передачи).

...