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

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

проблемы с TServerSocket [D5, Win2k]


Страницы:   1 2

BoxTer ©   (2004-09-10 08:23:00) 

Доброе время суток. У меня возникла такая ситуация. Прога, рассылающая по таймеру куче клиентов некую строку кодом:
 try
  for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
       ServerSocket1.Socket.Connections[i].SendText(st);
 except
   on E: Exception do Begin
     Memo1.Lines.Add(DateTimeToStr(now)+' '+InttoStr(E.HelpContext)+', '+E.Message);
   exit;
   end;
 end;

в обработчике ошибок ServerSocket1ClientError

 Memo1.Lines.Add(DateTimeToStr(now)+' - Ошибка '+Inttostr(ErrorCode));
 if ErrorCode=10054 then Begin
     Socket.Disconnect(0);
     ErrorCode:=0;
 end;
уnd;

вываливает ошибку 10054. В MSDN глянул - там все понятно, неудачно отключается клиент. Все клиентские проги обновить просто не смогу - их множество. Даже не смотря на обнуление ошибки, сервер через некоторое время останавливается.
Причем, E.Message выдает 'Вышел за пределы границ(-1)'...
Как мне справиться с этим на сервере?


Verg   (2004-09-10 10:28:00) [21]

Socket.Disconnect( 0);

Что за ноль?

Socket.Close;


Digitman   (2004-09-10 09:27:00) [22]

а E.ClassName что говорит ?


BoxTer   (2004-09-10 09:01:00) [23]

E.Message выдает 'Вышел за пределы границ(-1)' после каждой отправки на клиентов... т.е. на отправке except вываливается каждый раз после негоего неудачного отключения юзера...


BoxTer   (2004-09-10 08:24:00) [24]

и убирание строки из обработчика ошибок Socket.Disconnect(0); на работу никак не влияет...


Страницы:   1 2

Наверх

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