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

Вниз

Что-то непонятное с TidTCPServer и TidTCPClient   Найти похожие ветки 

 
Lucifer   (2004-07-25 17:35) [0]

В общем такая ситуация:
Есть клиент который посылает запрос на сервер (команду)
Сервер начинает работать - при этом назад возвращает постоянно данные, Клиент выводит их в Memo.
Когда завершается работа сервера - посылает строку EOF и клиент дисконнектится
Вот куски кода:
Клиент:
--------------------
 Client.Connect;
 Client.WriteLn("COMMAND");

 while TRUE do begin
       s:=Client.ReadLn;
       Memo1.Lines.Add(s);
       Application.ProcessMessages;
       if s="EOF" then break;
 end;

 Client.Disconnect;
----------------------
Сервер:

Выполняет различные действия и при этом постоянно отсылает клиенту состояние такой процедурой:
-------------------
procedure sendstr(AThread: TIdPeerThread;s:String);
begin
 AThread.Connection.OpenWriteBuffer;
 AThread.Connection.Writeln(s);
 AThread.Connection.CloseWriteBuffer;
end;
--------------------
Проблема в том что сервер отрабатывет до конца (веду логи) - но клиент не все принимает - причем каждый раз может "застрять"
на разном месте - иногда и до конца отрабатывает
Клиент и сервер стоят на одном компе


 
Lucifer   (2004-07-25 17:41) [1]

Да и чуть не забыл - когда клиент ждет сообщение по ReadLn он загружает процессор на полную - должно ли так быть?


 
MetalFan ©   (2004-07-26 16:25) [2]


> s:=Client.ReadLn;

S := Client.ReadLn("", <значение таймаута в милисек>);
или вынеси в отдельный поток


 
Lucifer   (2004-07-27 13:34) [3]

Да через поток все пошло
а вот
S := Client.ReadLn("", <значение таймаута в милисек>);
не помогло



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
1-1095421813
Stas_on
2004-09-17 15:50
2004.10.03
Как сделать так, чтобы введённое число из Edit a


1-1095748241
PulSS
2004-09-21 10:30
2004.10.03
Help - помогите заполнить дв. массив по диагоналям, зигзагом


6-1088755314
LEONardo
2004-07-02 12:01
2004.10.03
TclientSocket в приложении, не имеющей ни одной формы


3-1094487019
Кристина
2004-09-06 20:10
2004.10.03
Вопрос о Locate


1-1095502387
f00rd
2004-09-18 14:13
2004.10.03
TListView и WinXP