Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Вниз

вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.037 c
1-1160224589
Sanya_BBB
2006-10-07 16:36
2006.11.19
Как узнать имя файла через компонент OpenDialog?


15-1162285919
Crazybeaver
2006-10-31 12:11
2006.11.19
Альтернатива FrontPage


2-1162483581
Meroniuss
2006-11-02 19:06
2006.11.19
Возврат номера колонки!!!


2-1161726542
aleko
2006-10-25 01:49
2006.11.19
путь к рабочему столу


15-1162075852
Petr V.Abramov
2006-10-29 02:50
2006.11.19
и че народ на стеки потянуло последние дни...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский