по первому варинту: подскажите плиз программы/библиотеки ActiveX/OLE или хотя бы командная строка. Обязательно докачка в обе стороны по-второму - читал только microsoft.com - если у кого если реальный опыт - буду очень рад услышать Мыло - как последний варинт
Я юзаю вот эти компаненты Краки к ним есть на хакерских сайтах. FTP, как командная строка отлично хавает входной поток. Коды возвратов читаешь из выходного потока. Но есть одна очень неприятная весч - коды возврата ошибок зависят от конкретного FTP-сайта. Поэтому проверить правильность передаи можно только по размеру файла. Пример такого на Unix Shell я могу раздобыть (шелл есть и под винду тоже).
тебе нужен робот-отправитель и робот получатель? ты на оба конца имеешь влияние?
msmq это программируемый сервис и вовсе не для передачи файлов как таковых. отправитель и получатель должны в общем случае понимать формат содержимого сообщения и что с ним делать дальше.
вообще для передачи файлов, имо, фтп пока самое оно. во всяком случае не нужно программировать серверную часть. с докачкой могут быть проблемы. не все фтп-сервера ее поддерживают.
В ответ на: тебе нужен робот-отправитель и робот получатель? ты на оба конца имеешь влияние?
Да
В ответ на: msmq это программируемый сервис и вовсе не для передачи файлов как таковых. отправитель и получатель должны в общем случае понимать формат содержимого сообщения и что с ним делать дальше.
Знают естественно
В ответ на: вообще для передачи файлов, имо, фтп пока самое оно. во всяком случае не нужно программировать серверную часть. с докачкой могут быть проблемы. не все фтп-сервера ее поддерживают.
Софт вот как раз и выбираю. Точнее сначало платформу. Могу поставить на любую ось любой софт. Желательно недорогой легально
Требуется реализовать автоматическую передачу файлов различного размера от 100к до 10М между двумя компами в инете. Для чего возможно должен использоваться свой какой-то серверный компонент. Есть с двух сторон своя софтина (1с), которая может использоваться как управляющая третьим продуктом. В идеале после выкладывания файла он уходит адресату без дополнительного программирования таких вещей как докачка, проверка CRC со стороны получателя, передачи занового и остального что может случиться. А с этим у ФТП и могут быть проблемы, точнее все это можно сделать, но не хочеться особо. 1. MSMQ вроде как позволяет обойти весь гимор и может быть умеет правильно передавать внутри "своей" сети (получатель-отправитель для экономии трафика и времени) 2. почта - вроде как почти нормально, но если после отправки на smtp сервер 5 метров коннект оборветься, то закачивать клиент будет заново. Тут попутный вопрос: SMTP сервера между собой аналогично поступают или "досылают" кусок следующему серверу?
В ответ на: Тут попутный вопрос: SMTP сервера между собой аналогично поступают или "досылают" кусок следующему серверу?
SMTP не поддерживает "докачку", если письмо оборвалось - качает все заново. Чтобы воспользоватся в твоем случае почтой - надо разбить на кучу файликов (при помощи архиватора, например (я юзаю xceedzip.dll)) на другой стороне собрать все эти файлы в кучу.
MSMQ, MQSeries,JMS - это все тебе не подойдет, на такие объемы оно не расчитано. Это так пару объектов сериализовать да переслать. Ну 50 килобайт мааксимум. Докачку оно не поддерживает тоже, сервис вообще для распределенных сетевых вычислений в системах со слабой связанностью. Оно ж их еще в базе данных хранит и все такое.
В твоем случае таки оптимально FTP + 2 скрипта/программы с обоих сторон, которые будут постоянно пытаться пропихнуть файлы.
А средствами винды настроить впн между компами, и считай то они практически как в локалке далее цепляешь шару той машины что надо и скедулером тупо копировать. немного повозиться при настройке прийдется, но!!! во первых конфидициальность соблюдешь, по крайней мере намного безопаснее чем мылом а тем более фтп.
Софт вот как раз и выбираю. Точнее сначало платформу. Могу поставить на любую ось любой софт. Желательно недорогой легально
В твоем списке отсутствует HTTP, хотя он вполне подходит для задачи (в том числе поддерживает закачку), а с небольшими геморроем (настройка) еще и криптование траффика и раздачу прав (то есть никто левый не сможет файл взять). Оптимальный вариант софта (готового), видимо, связка apache+wget. Файл просто выкладывается в нужный подкаталог (при работающем апаче), а на другом конце wget его заберет. Опять-таки, при правильной настройке файл даже не будет тащиться второй раз, если он не изменился. Файл предварительно можно сжать (zip/rar/gzip/bzip2 по вкусу).
В ответ на: на сервере веб сервис с единственной функцией: public void UploadFile(string filename, byte[ ] content);
Пойдет конечно, но будет оч медленно работать - это ж каждый раз коннектится за каждой порцией. ИМХО лучше придерживатся стандартов и не изобретать велосипед
Пример такого на Unix Shell я могу раздобыть (шелл есть и под винду тоже).
А че его раздобывать? Ставишь CygWin и всех делов. Я в винде иначе и жить не могу Опять же: закомпилить чего из шарового софта (по поводу легальности, кстати) - в полпинка. Мне уже к спарковской консоли зачастую поворачиваться лениво, прям в винде и компилю че надо Так что берется любой подходящий шаровый юниксовый софт, компилиться в виндах и усех делов.
во-первых это понятие относительное. раз уж такая плохая связь и нужна докачка, то это, в общем, без разницы по какому протоколу происходит ре-коннект.
во-вторых, между вызовами метода с клиента не будет никаких ре-коннектов если только сервер не шлет директиву о закрытии соединения по окончании вызова.
в-третьих, такой "велосипед" -- дело нескольких минут. И куда проще, чем попытка полноценно автоматизировать перечисленные стандарты.
Не поддерживает докачки. К тому же удивительно долго это все монтируется, особенно через VPN. Мы как то делали подобную систему передачи через модем (не сами такой бред придумали - ПрайсВотерхаус настоял гы-гы), два модема на нашей линии успевали как раз законнектится, замонтировать директоию и ... на этом связь обрывалась. Межгород по "Искре", средний коннект до разрыва - 3 минуты Телефонные линии у нас не америкосовские, даже типаправительственные . В результате Z-Modem и Fido - софтина обставляла это все дело нараз На этом варианте и остановились.
Вспоминаем старьё: 1. Т-майл 2. UUPC Мне 2-й выбор нравится больше. Хотя вполне возможен и вариант на ФТП+скрипты Сам дозвон можно подымать из командной строки (только на НТ, 2000,ХП, 2003) если фтп поддерживает докачку - то проблем не ьудет. Но у нас сделано на т-майл. Файлы до 10 гиг намано,только долго.
Синхронизирует каталоги по протоколу TCP/IP. Типа, вкинул файл в АУТ, а он в ИН на другом корыте образовался. Мне кажется тестовая версия позволяет синхронизировать один ИН и один АУТ каталог. TCPFOSS Рулезный софт!