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

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

Выставить TimeOut для входящих у IdTCPServer


KorvinOE ©   (2005-05-28 15:22:00) 

Не пойму почему не срабатывает таймаут когда пишу:
...
var s:string;
begin
 ...
 s:=AThread.Connection.Readln('',5);
 ...
end;

Пробовал уже указать:
AThread.Connection.ReadTimeout := 500;
Но сервер зависает пока не пошлю ему что-нибудь.


KorvinOE   (2005-06-03 11:40:00) [1]

asafr

Если Readln на сервере будет по таймауту возвращать строку из первого параметра, тогда не надо нагружать клиента отправкой тестовых сообщений типа 'Test' или 'Ready'. Да и сеть меньше занята


asafr   (2005-06-02 12:34:00) [2]

Так какая-нибудь строка или конкретная? Может сервер ожидает конкретную строку, а приходит другая? Например сервер ждет строку "Test", но клиент, слишком часто посылая сообщения серверу, делает так, что сервер получает строку "TestTest"...
Это так, мысли вслух... :)


KorvinOE   (2005-06-01 21:03:00) [3]

Попробовал, не влияет. Может какая-то настройка Windows на это влияет?


Eraser   (2005-05-30 15:57:00) [4]

KorvinOE ©   (30.05.05 15:13) [5]

странновато... попробуй присваивать AThread.Connection.ReadTimeout в обработчике OnConnect.


KorvinOE   (2005-05-30 15:13:00) [5]

procedure TNebo1.TCPServExecute(AThread: TIdPeerThread);
var i:Integer;
   S,Packet:String;
begin
AThread.Connection.ReadTimeout:=500;
AThread.Connection.WriteLn('Hello!!!');
S:=AThread.Connection.ReadLn('',5);
AThread.Connection.WriteLn('Good Bye !');
AThread.Connection.Disconnect;
end;

Сервер на строке S:=AThread.Connection.ReadLn('',5); ждёт ответ до тех пор пока не прийдёт какая-то строка


Eraser   (2005-05-28 22:19:00) [6]

KorvinOE ©   (28.05.05 20:05) [3]

Странно.... приведи код где ставишь AThread.Connection.ReadTimeout := 500;


KorvinOE   (2005-05-28 20:05:00) [7]

Он не совсем зависает. Он ожидает строку от клиента и не продолжает выполнение.


Eraser   (2005-05-28 17:41:00) [8]

KorvinOE ©   (28.05.05 15:22)
Но сервер зависает пока не пошлю ему что-нибудь.


"Зависает", после коннекта?


Verg   (2005-05-28 16:05:00) [9]

Все дело в многоточиях.


Наверх

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