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


Автор: Gnusss 12.2.2006, 01:06
Привет всем!

Сейчас делаю удаленное управление своей спрограммой через telnet, использую TIdTelnetServer и возник такой вопрос:

Как отключить всех подключенных клиетнов от сервера(TIdTelnetServer)?

Заранее спасибо!

Автор: Snowy 12.2.2006, 01:42
Прикрути к нему TIdThreadMgrDefault.
Убить все подключения:
Код
IdThreadMgrDefault1.TerminateThreads;

Автор: Gnusss 12.2.2006, 12:21
Я перед закрытием(Active:= False) сервера пытаюсь отключить(IdThreadMgrDefault1.TerminateThreads;) всех клиентво.
В строке где закрывается(Active:= False) сервер у меня происходи ошибка:
Цитата

Project Server.exe raised exception class EIdClosedSocket with message 'Disconnected.'.


Как от это-го можно избавится?

Автор: Snowy 12.2.2006, 13:23
Отключение не происходит моментально.
Тредам требуется время,чтобы завершиться.
Или делай паузу, чтобы дать тредам время на завершение,
или просто засунь остановку в try except и пусть сервер в нем ругается сколько хочет.

Автор: Gnusss 12.2.2006, 20:19
Можно еще вопрос:
Что лучше исползоват для задержки на отклчение?
Или подойдет обычный Sleep(...)?

И еще вопрос:
Как можно реализовать команду cls для отчистки консоли клиента.

Автор: Snowy 12.2.2006, 22:35
Обычный Sleep должен подойти. Если потоки не потиребуют синхронизацию перед смертью.
Поэтому лучше использовать комбинированную задержку:
Код

for i: =1 to 20 do begin
  Sleep(100);
  Application.ProcessMessages;
end;

Что касается очистки экрана. Посмотри в FAQ. Там есть статья о работе с консолью.

Автор: Gnusss 12.2.2006, 22:48
Цитата(Snowy @ 12.2.2006, 22:35 Найти цитируемый пост)
Что касается очистки экрана. Посмотри в FAQ. Там есть статья о работе с консолью.

Странно, ничего подходящего не нашол... smile

Автор: Snowy 12.2.2006, 23:30
Я же говорю: "статья".
Нужно смотреть в разделе "статьи".
На прямой линк: http://vingrad.ru/DELPHI-SYSTEM-000026

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