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

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

Проблема с Indy - ошибка при повторном idTCPClient.ReadStream [D7, XP]


jjdeluxe ©   (2007-03-23 09:41:00) 

Доброго времени суток. Возникла такая проблема. Есть idTCPServer и idTCPClient. Сервер по запросу клиента передает по сети файл через WriteStream. Первый раз все проходит нормально, но при повторном запросе программа повисает на строчке idTCPClient.ReadStream... Что я не так делаю?
Вот код:

На сервере:
procedure TMainForm.IdTCPServerTIdCommandHandler2SomeCommand(ASender: TIdCommand);
begin
 ....
 ASender.Thread.Connection.WriteStream(stream, True, True, stream.Size);
 ....
end;

На клиенте:
if IdTCPClient.Connected then
 begin
   ....
   IdTCPClient.WriteLn('SomeCommand');
   stream:= TMemoryStream.Create;
   IdTCPClient.ReadStream(stream);
   ....
 end;


evg12334567   (2007-03-26 12:56:00) [1]

IdTCPClient.disconnect


evg12334567   (2007-03-26 12:55:00) [2]

IdTCPClient.disconnect


Плохиш   (2007-03-23 10:49:00) [3]

Как написано в справке сервер должен после передачи разорвать соединение.


Наверх

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