Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Передача файлов на несколько компов


Автор: mum1k1 18.7.2008, 18:08
Нужно приложение, состоящие из двух частей. Первая, это обычный файловый менеджер, с ним у меня проблем ни каких не возникло, вторая часть, это как бы своего рода сетка, тоесть принцип работы таков:
 
В файловом менеджере мы выбираем нужные нам файлы, в соседнем окне, или как нить на подобии, у нас проходит сканирование сети, появляются имеющиеся компы, мы отмечаем например галочкой какие нам нужны, и перекидываем файлы в выбранный нами каталог. Передача должна идти сразу на все, или поочерёдно, разницы нет, главное чтобы не выбирать каждый раз новый комп. 

Зашёл в тупик, ибо пока не могу допетрить как это осуществить.  Буду рад любым идеям и примера, заранее спасибо. 

Автор: Qu1nt 18.7.2008, 18:14
Пример сканирования сети:
http://rouse.drkb.ru/files/netscan.zip
Про копирование файлов - поищи на форуме.

Автор: mum1k1 18.7.2008, 18:22
Хм. Сканирование в принципе понятно, мне куда важнее принцип работы самого копирования на несколько машин, притом ещё и директорию надо указывать, и авторизовываться на них автоматом. 
Но всё равно спасибо,  это тоже пригодиться.

Автор: aleksh 21.7.2008, 09:10
один вопрос: те самые компьютеры ждут копируемый файл?
первое что пришло в голову: на принемающей стороне запускается программа, менеджер стучится к этим программам, потом в менеджере формируется список доступных, выбираются каким давать файл, из них строится список и в порядке очереди кидается запрос с параметрами: откуда  и что копировать, а также -- куда; принимаемая сторона запускает файл в поток и сохроняет у себя.
знаю, медленно, монопольно, и т.д. зато надежно и просто

Автор: mum1k1 21.7.2008, 17:41
Нет, не ждут, но принцип хорошо, можно поплдробней?

Автор: aleksh 22.7.2008, 09:10
вынужден признаться - с сетью работал мало...

для начала: думаю, без indy не обойтись, лови http://forum.vingrad.ru/topic-85659/unread-1/anchor-entry747917/0.html#entry747917

идея такая: пишется клиент-сервер udp (в мануале есть пример как) для составления списка компьютеров которым можно раздать файл. приемущество подхода: на принимаемой стране запускается программа в которой можно задать - хочет человек этот файл получить, или нет
результат опроса компьютеров по сети можно оформлять, например, в виде additional - checklistbox

самое интересное другое: способ передачи файла. где-то на форуме (посмотри в нижней вставке тем) встречал предложение запускать файл в stream - stream на порт - потом с порта сохранять. недостаток: относительно медленно, ибо файл раздается одному за раз (если не ошибаюсть stream монополен и thread не поможет), но есть плюс: файл гарантировано передан и куда надо
есть другие способы передачи файла - тема широкая и отдельная

Добавлено через 10 минут и 37 секунд
кстати, загляни http://forum.vingrad.ru/topic-118244.html

Автор: mum1k1 22.7.2008, 17:44
Сенкс те ещё раз, пайду попробую)

Автор: mum1k1 23.7.2008, 10:50
Хмм...мне Indy компоненты помогут?

Автор: aleksh 23.7.2008, 10:59
конечно помогут, чем же вызваны подозрения?
бесспорно, можно все реалзовать через winsock, только вопрос - оно тебе надо?

Автор: mum1k1 23.7.2008, 11:44
я просто понять не могу, мне какие компоненты нужны? инди или интернет? 

Автор: aleksh 23.7.2008, 11:48
безусловно инди
"зачем нам интернет, не нам интернет не нужен, что я, провайдер что ли" (пошутил)
если компонент назван tcpserver то это вовсе не означает что без выхода в и-нет он работать не будет, или чем вызваны сомнения?

Автор: mum1k1 23.7.2008, 12:00
отлично, пошёл реализовывать инди замыслы =)

Автор: mum1k1 23.7.2008, 14:01
у кого нить есть полноценный мануал по данной теме? 
не форумный, а типа книг

Автор: aleksh 23.7.2008, 14:31
сомневаюсь что найдется книга посвященное конкретно передаче файлов по сети между виндузовскими машинами...
если по инди - то ссылка на книгу давал выше, там же ссылочка на топик в котором выложен пример решения той самой передачи. можно взять за основу, переделать под свои нужды, добавить свой интерфейс...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)