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

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

IdTCPServer vs IdTCPClient как отловить разрыв связи при передачи [D6, Win2k, WinXP]


sanya-spb ©   (2003-11-25 10:40:00) 

Как бы наиболее грамотно отловить разрыв связи при передачи (приеме) потока, чтобы ничто нигде не отвисало и при этом работало предельно быстро...

я пробовал и так: (но разрыв связи так не отработать)
===========================
>> IdTCPClient.WriteStream(CompressedStream);

<< IdTCPServer.ReadStream(CompressedStream);
===========================

и так: (но это медленно, блин, так)
===========================
>> i:=0;
>> while i<>CompressedStream.Size
>> do begin
>> CompressedStream.Read(Buffer,1);
>> IdTCPClient.WriteBuffer(Buffer,1,true);
>> inc(i);
>> end;

<< i:=0;
<< while i<>CompressedStream.Size
<< do begin
<< IdTCPServer.ReadBuffer(Buffer,1,true);
<< CompressedStream.Write(Buffer,1);
<< inc(i);
<< end;{}
========================================


S@shka   (2003-11-25 14:26:00) [1]

Почмотреть try except


Reindeer Moss Eater   (2003-11-25 10:51:00) [2]

Обрати внимание на
AThread.Connection.ReadFromStack


Наверх

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