Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

вопрос по TIdTcpServer   Найти похожие ветки 

 
po4ti novi4ok   (2006-06-25 13:14) [0]

есть сервер и клиент, с клиентом вроде разобрался, а вот с сервером возникла одна небольшая загвоздка...
При старте приложения сервер автоматически запускается, и если в течении одной секунды никто не приконнектится, то нужно задать определенные параметры... проблема состоит в том как узнать что к серверу никто не приконнектился? может у этого сервера есть там свойство какое-то, я его просто проглядел, подскажите пожалуйста как эту проблему решить...
использую Indy10...


 
po4ti novi4ok   (2006-06-26 13:51) [1]

может кто сталкивался все-таки с этой проблемой, помогите пожалуйста найти решение...


 
qqq111   (2006-06-26 14:49) [2]

Через евент... самое простое


 
po4ti novi4ok   (2006-06-27 10:10) [3]

не получается ни через события, ни через флаги...
делаю так...
....
Server: TIdTcpServer;
.......
function start: boolean;
begin
i:=0;
....
Server.Active:=true;
sleep(1000);
if i<>1 then begin
//тут я задаю параметры которые нужно выставить если к серверу никто не приконнектился
end;
end;

procedure Server.OnExecute;
begin
i:=1; //поидее это отдельный поток но попадает сюда только когда выполнится f.start
end;

события соответственно также реагируют... может кто-нибудь подскажет как эту проблему решить...


 
qqq111   (2006-06-27 10:58) [4]

у меня отдельный класс на сервер и .. я туда ставлю еще параметр флаг... устанавливаю в в старте сервера параметр скажем фалзе... далее при возникновении событи онконект просто в нем меняю флаг на тру... и все..


 
po4ti novi4ok   (2006-06-27 11:09) [5]

т.е., я правильно понял:

TMyClass
Server: TIdTcpServer;
i: boolean;
......
a: TMyClass;
......
a.Server.Active:=true;
a.i:=false;

Как ты ловишь OnConnect, не подскажешь?


 
Deka ©   (2006-06-28 10:12) [6]

Сделать флаг. Установить (сбросить его). Завести таймер на нужное время. При коннекте поменять сбросить (установить) флаг. При срабатывании таймера проверить флаг и сделать необходимое.


 
medved_68 ©   (2006-06-28 10:59) [7]


> Как ты ловишь OnConnect, не подскажешь?


procedure TForm1.FormCreate(Sender: TObject);
begin
IdTCPServer1.Active:=True;
i:=0;
end;
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
i:=i+1;
end;
procedure TForm1.IdTCPServer1Disconnect(AThread: TIdPeerThread);
begin
if i>0 then i:=i-1;
end;

Ну а далее все и так ясно :)



Страницы: 1 вся ветка

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.043 c
5-1143226107
Volf_555
2006-03-24 21:48
2006.11.19
Проблема с присвоением имени новому компоненту


2-1162417174
Gyrus
2006-11-02 00:39
2006.11.19
Конвертировать JPEG


3-1158810978
Merko2005
2006-09-21 07:56
2006.11.19
Как вычислить кол-во месяцев


3-1158496273
linox
2006-09-17 16:31
2006.11.19
автоматическая нумерация поля Number


2-1162358799
apic
2006-11-01 08:26
2006.11.19
TPersistent





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский