Главная страница
    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.036 c
15-1162473263
Leva
2006-11-02 16:14
2006.11.19
Подскажите как решить проблему?


2-1162652140
susergey
2006-11-04 17:55
2006.11.19
PageControl


2-1162356010
APiC
2006-11-01 07:40
2006.11.19
Регистрация расширений


2-1162396371
Busik
2006-11-01 18:52
2006.11.19
Как связать эти две программы,


15-1162401978
Ne-Ld
2006-11-01 20:26
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский