Главная страница
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.48 MB
Время: 0.057 c
15-1162275186
@!!ex
2006-10-31 09:13
2006.11.19
GetTickCount под досом


3-1158774261
anton773
2006-09-20 21:44
2006.11.19
количество записей в секунду


3-1158396759
urel
2006-09-16 12:52
2006.11.19
Связи в БД


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


2-1162197366
Piero
2006-10-30 11:36
2006.11.19
TDBLookUpComboBox