Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реакция на отключение в TServerSocket (в потоке), Как отреагировать на отключение клиента? 
:(
    Опции темы
ajunta
Дата 5.5.2007, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.4.2007

Репутация: нет
Всего: нет




При соединении создаю:
Код

procedure TForm1.ServerSocket1GetThread(Sender: TObject;
  ClientSocket: TServerClientWinSocket;
  var SocketThread: TServerClientThread);
begin
   SocketThread := TServerThread.Create( FALSE, ClientSocket );
   (SocketThread as TServerThread)._parent:=ClientSocket;
end;


класс:

Код

TServerThread = class( TServerClientThread )
   private
     fSocketStream : TWinSocketStream;
   public
     _parent:pointer;
     procedure ClientExecute; override;
end;


и процедура ClientExecute:

Код

procedure TServerThread.ClientExecute;
   var b:array [1..1024] of byte;
begin
inherited FreeOnTerminate := TRUE;
try
   fSocketStream := TWinSocketStream.Create(ClientSocket,100000);
   try
     while ( not Terminated ) and ( ClientSocket.Connected ) do
     try
if ( not Terminated ) and
  ( not fSocketStream.WaitForData( 1000000 ) ) then
begin
   form1.log.Lines.Add('timeout')
end;
           //
           form1.log.Lines.Add('data!') ;
           fSocketStream.Read(b,1024);
           //
     except on e:exception do
       begin
         ClientSocket.Close;
         Terminate;
       end;
     end;
   finally
     fSocketStream.Free;
   end;
except on e:exception do
   begin
          ClientSocket.Close;
          Terminate;
   end;
end;
end;



Подскажите пожалуйста как отреагировать на отключение клиента?? при таком коде после его отключения экроан засыпается бесконечным числом сообщений о пришедших данных!
PM MAIL   Вверх
ajunta
Дата 10.5.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.4.2007

Репутация: нет
Всего: нет



Народ ну неужели никто не поможет!(((
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0415 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.