![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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