Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача файлов в отдельных потоках [D6, WinXP]


Senti ©   (2005-01-11 13:11:00) 

Вот решил доработать свою программу и сделать многопотоковую передачу файлов. Т.е. в один момент можно передавать несколько файлов.

Стоит задача организовать передачу в отдельном потоке (чтобы не тормозило приложение).

1. Создается форма передачи файла. Создается поток с открытым сокетом на определенном порту.
При нажатии на кнопку передачи, через основной сокет (программы) передаются данные о подтверждении клиенту.
2. Клиент нажимает на подвтерждение получения и соединяется с сокетом отправителя (который создан в потоке).
3. После успешного соединения, программа посылает данные через сокет в этом потоке. И пока не будет получено подтверждение о получении файла клиентом. Поток не уничтожается.

Как реализовать подобный поток ? И как обращаться к данным этого потока (нужно для синхронизации формы отправки с работой потока)......

Эх... что-то пока не получается реализовать этот поток.


Senti   (2005-01-11 16:26:00) [1]

Буду разбираться сам дальше.. Думаю вопрос решится... через некоторое время приложенных усилий :о) Спасибо всем...


Senti   (2005-01-11 16:25:00) [2]

Спасибо


Digitman   (2005-01-11 14:24:00) [3]


> Senti   (11.01.05 13:58) [7]


в ЛЮБОМ кодовом потоке конструирование "компонента" сводится к знакомой тебе строчке

Переменная_типа_ТКлассМоегоКомпонента := ТКлассМоегоКомпонентка.НекийКонструирующийМетодЭтогоКласса(ПараметрыЭтогоМетода, если они имеются);


kaZaNoVa   (2005-01-11 14:05:00) [4]

Senti   (11.01.05 13:58) [7]
ставь имхо флаг, который второй поток будет проверять и ждать


Senti   (2005-01-11 13:58:00) [5]

Спасибо за конструктивные ответы. Но может есть простой пример как создать компонент в потоке, который бы управлялся из основного потока программы ?


Digitman   (2005-01-11 13:46:00) [6]


> Многопоточность реализовать не сложно


при достаточном понимании происходящего - действительно не сложно


> У меня сервер программы многопоточный


нет такого слова - "сервер порограммы"
а есть слово "программа, реализующая алгоритм сервера"


> хочу реализовать передачу файлов от клиента к клиенту с
> использованием отдельных потоков


вполне нормальное желание


> никто совета давать не хочет


равно как никто не хочет и привести код


Senti   (2005-01-11 13:36:00) [7]

Я понимаю что печально... Может посоветуете что... или может есть литература по этим вопросам ?

Многопоточность реализовать не сложно. У меня сервер программы многопоточный. Я хочу реализовать передачу файлов от клиента к клиенту с использованием отдельных потоков. Но вот никто совета давать не хочет....


kaZaNoVa   (2005-01-11 13:27:00) [8]

была супер - многопоточность и ехе 10 кб))


kaZaNoVa   (2005-01-11 13:26:00) [9]

я так скрытий файловый сервер писал ..


Digitman   (2005-01-11 13:25:00) [10]


> Senti   (11.01.05 13:11)


> что-то пока не получается реализовать этот поток


печально ..


Polevi   (2005-01-11 13:12:00) [11]

эхх..


Наверх

Титульная страница Поиск, карта сайта Написать письмо