Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

Как быстрее переслать данные клиенту   Найти похожие ветки 

 
Alek_1   (2007-01-15 16:10) [0]

У меня есть программка которая делает выборку с базы файрберд. к ней подключается программка клиент которая затем эти, выбраные, данные получает.

так вот записей при пересылке может быть 20000.
я строю строку из записей и по тсп ип их пересыаю на клиентика...

но это долго :( (построение стрроки очень долго тянется :( )
можно ли както по другому отослать? сохранить там записи в stream например и потом уже отправить...??

Использую для выборки TIBDataSet

строку строю примерно так
 for i:=0 to i2 do begin

   ln:=Length(SQL.FieldByName("ID_ZI").AsString);
   str:=SQL.FieldByName("ID_ZI").AsString;
   result:=result+Chr(ln)+str;

   ln:=Length(SQL.FieldByName("DT").AsString);
   str:=SQL.FieldByName("DT").AsString;
   result:=result+Chr(ln)+str;


 
Sergey13 ©   (2007-01-15 16:16) [1]

> [0] Alek_1   (15.01.07 16:10)

Может стоит книжку прочитать и не изобретать велик с квадратными колесами?


 
Alek_1   (2007-01-15 16:21) [2]

в книжке про мидас читал...но мне не хочется его использовать...

вообщем нужно сделать выборку на сервере, и передать ее как можно быстрее на клиентик... как же это лучше сделать?


 
Sergey13 ©   (2007-01-15 16:22) [3]

> [2] Alek_1   (15.01.07 16:21)

Пусть "клиентик" сам ее и запросит.


 
Alek_1   (2007-01-15 16:27) [4]

такс...а что еще мона придумать? :)
у кого еще какие мысли по этому поводу?


 
Sergey13 ©   (2007-01-15 16:30) [5]

> [4] Alek_1   (15.01.07 16:27)

Т.е. нормальные герои всегда идут в обход?


 
Alek_1   (2007-01-15 16:34) [6]

тоесть мне нужен максимально тонкий клиент который подключается по через 1 порт подлючается к моему серверному приложению....и получает оттудава новости, записи в бд, чат, и другие дополнительные штучки....

и нужно с сервера в клиентик как можно быстрее отправлять выбраные данные...


 
Sergey13 ©   (2007-01-15 16:38) [7]

> [6] Alek_1   (15.01.07 16:34)

А надо ли так сложно то? Почему клиент не может напрямую подключиться в БД и взять что надо?


 
Alek_1   (2007-01-15 16:41) [8]

потому что сервер БД стоит в датацентре, а клиенты разбросаны по разным компаниям... в которых свои настройки сетевой безопасности...и иногда очень сложно выбить чтобы их админ открыл порт для программки, а если их еще и два будет...уууу плохо будеть...


 
Плохиш ©   (2007-01-15 16:49) [9]

Эта тема в руководстве разработчика, идущем с Делфи, называется, в вольном переводе, создание WebServices-приложений.


 
Alek_1   (2007-01-16 17:14) [10]

подожди...а причем тут вебсервис и обычное приложение...? или там есть похожая ситуация? :)


 
BorisMor ©   (2007-01-16 18:47) [11]


> подожди...а причем тут вебсервис и обычное приложение...
> ? или там есть похожая ситуация? :)

Вам намекают, что данные через Интернет можно передавать...
И вообще нормальные поцаны XML используют для межпрограммной передачи данных :)

Если насчет вашего вопроса, то могу предположить что скорость маленькая потому что со string-строкамми работаете.
Наверное лучше
- Pchar использовать
- или заранее указывать длину строки через SetLength, а затем вставлять данные в эту строку
- попробовать TStringList
Это те направления, куда бы я копал...



Страницы: 1 вся ветка

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
1-1170872888
antonyan
2007-02-07 21:28
2007.04.01
1C


3-1168937991
pavel_guzhanov
2007-01-16 11:59
2007.04.01
Как проверить содержимое поле типа DateTime на null


15-1173605644
Geret
2007-03-11 12:34
2007.04.01
Ура! Я приобрел книгу Кормена!


15-1173452729
oldman
2007-03-09 18:05
2007.04.01
Смотреть. Учиться. Завидовать.


2-1173118457
pasha star
2007-03-05 21:14
2007.04.01
list.txt to .rc