Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Выключение прокси сервера


Автор: Letov 29.4.2008, 14:09
Исползую TIdHTTPProxySerevr. Для запуска сервера использую 
Код

Server.Active:=true;

А вот как остановить (выключить) прокси сервер. Я использую 
Код

Server.Active:=false

но если к серверу подсоединен хотябы один клиент, сервер не выключается, а программа зависает. Если подключения отсутствуют, сервер выключается нормально.
Как сделать, чтобы сервер не зависал при отключении, описанном в первом случае?
Заранее благодарен.

Автор: SneG0K 29.4.2008, 14:14
Код

Server.DiskonnectAll; //Или как0то так... я уже не помню точно
server.Active:=false;

Автор: Letov 29.4.2008, 14:30
В том то вся и проблемма... Нету Server.Diskonnec

На запрос Server.Dis Delphi выдает только Server.Dispatch(); , на это вроде не то.

Автор: Ortho 2.6.2008, 14:39
Тож помучался... но нашел... вот здесь: http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=46801

Автор: Igor22 18.12.2010, 10:52
Код

var i: Integer;
      List: TList;
begin
    try
      List := idServer.Contexts.LockList;
      for i := 0 to List.Count - 1 do begin
          TIdContext(List.Items[i]).Connection.Socket.Close;
      end; //for
      idServer.Contexts.UnlockList;
      Log('Все клиенты отключены');
      idServer.Active := False;
      Log('Сокет остановлен');
    except
    end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)