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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Indy 9, Delphi 7-кореректный дисконнект клиентов, Ошибка-при остановке сервера 
V
    Опции темы
sas099
Дата 7.10.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день всем!поскажите кто знает!
структура: имеется 2  IdTCPSerevr-а к каждому подключается своя группа клиентов.Если подключен 1 клиент в каждой группе - все закрывается корректно при останове серверов.Если в каждой группе 2 и более клиента .. закрывается с ошибкой и процесс висит в списке процессов постоянно выкидывая ошибку на монитор.
пример кода(функция останова серверов):

function TForm1.StopServer: Boolean;
var i: Integer;
begin
  with IdTCPServer.Threads.LockList do try
    for  i := 0 to Count-1 do begin
      if TIdPeerThread(Items[i]).Connection.Connected then
            begin
              TIdPeerThread(Items[i]).Connection.Disconnect;
           end;
    end;
    finally
   IdTCPServer.Threads.UnlockList;
 end;
 
  with IdTCPServerSend.Threads.LockList do try
    for  i := 0 to Count-1 do begin
       TIdPeerThread(Items[i]).Connection.Disconnect;
    end;
    finally
   IdTCPServerSend.Threads.UnlockList;
 end; (*end of Disconnect block*)

    IdTCPServer.Active := false;
    IdTCPServerSend.Active := false;
    IdTCPServer.Bindings.Clear;
    IdTCPServerSend.Bindings.Clear;

end;

PM MAIL   Вверх
sas099
Дата 7.10.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Отвечаю на свой же вопрос, может кому пригодиться.
после строчек :

TIdPeerThread(Items[i]).Connection.Disconnect;

нужно вставить процедуру Sleep();
и все становиться намного приятнее  smile 

сделал так:
TIdPeerThread(Items[i]).Connection.Disconnect;
sleep(100);
100 мс получилось достаточно!может можно  и меньше .. не пробовал еще!

PM MAIL   Вверх
MaximK
Дата 12.4.2013, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



2 дня искал решение проблемы...

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

Запрещено:

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

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

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

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

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


 




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


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

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