![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача данных [D5, D6, Win2k, WinXP]
Officeman © (2006-02-21 13:44:00)В одном каталоге десять копий одной и той же программы.
Запускаю все 10 програм. В (1)одной устанавливаю флажок "сервер". Здесь же ввожу данные(числа) и нажимаю кнопку "Обработать". При этом сохраняю это число в тектовый файл, а другие коппи программы читают этот файл если он был изменён и обрабатывают тоже это число. В итоге 10 копий программы прорабатывает это самое число и результат в виде ДРУГОГО числа передают обратно к серверу тем же способом только в разные новые файлы. Расчёт обработки очень сложным - и выполняется примерно 1,5 секунды. + время затраченное за запись в файл(виндовс) * умножаем на колличество копий програм. вобщем всё это работает - но не так быстро как хотелось бы. т.е. между каждый введённым на обработку числом - надо ждать 5-7 секунд. чтобы всё правильно проработалось.
Скорость передачи СЕРВЕР -> КЛИЕНТ, устраивает. работает без глюков.
А вот когда КЛИЕНТЫ возвращают СЕРВЕРУ свой результат
"0", "1" или "2".
тут то и начинаются проблемы в скорости и корректности передачи. так как видимо переплетаются процессы(все процессы происходят практически одновременно).
конечно это ужасный подход. нужно реализовать передачу данных КЛИЕНТ->СЕРВЕР другим способом. тип передаваемых данных integer 1 байта. (одно число)
Рассматриваю
1) Способ передачи числа от Клиента к Серверу.
Сеть не использзуется. все копии программ в одном каталоге.
Ваши предложения?
Officeman (2006-02-21 14:24:00) [1]уже придумал. отбой.
umbra (2006-02-21 14:18:00) [2]лучше поменйте концепцию, потому что запускать 10 экземпляров одной и той же программы для того, чтобы она вообще могла работать, не есть хороший дизайн. скорее наоборот, это очень плохой дизайн.
Officeman (2006-02-21 14:15:00) [3]если не решу. придётся менять концепцию. а это ещё целый месяц работы.
щас попробую скриншотик запепенить. http://zeram.hotmail.ru/777.jpg
по сути дела это многомерный массив. только очень сложной структуры.
представлять как массив я не рискнул. каждая клетка АВТОНОМНА и имеет грубину 100 позиций данных. чтобы получить РЕЗУЛЬТАТ. нужно обрабаывать обновременно не 100 кнопок а например 2'000. т.е. 20 открытых программ одновременно. Держать всё в одной программе практически невозможно.
придётся менять концепцию полностью =(
RO (2006-02-21 14:01:00) [4]
> Ваши предложения?
Мои предложения - бросить неосознанные эксперименты и присесть за чтением документации.
umbra (2006-02-21 13:50:00) [5]а зачем нужно 10 одинаковых программ? почему не обойтись одной программой с 9 дополнительными потоками?