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


Автор: DYUMON 25.7.2007, 18:22
в проге использую компонент IdHTTPServer вот только не пашет данный кусочек кода

Код

procedure TForm1.ServerConnect(AThread: TIdPeerThread);
begin
   form1.lbAddConnect.Items.Add('Внимание обнаружено подключение' );
   form1.lbAddConnect.Items.Add(server.Athread.Connection.binding.PeerIP);
end;

пишет что такое не возможно 
может я что не подключил в разделе uses ?

Автор: DYUMON 25.7.2007, 21:56
Народ извините в  спешке не то написал сам код такой
Код

procedure TForm1.ServerConnect(AThread: TIdPeerThread);
begin
   form1.lbAddConnect.Items.Add('Âíèìàíèå îáíàðóæåíî ñîåäèíåíèå' );
   form1.lbAddConnect.Items.Add(AThread.Connection.binding.PeerIP);
end;

может это было для старой версии компонентов или делфи написано???????????

Автор: dumb 25.7.2007, 22:26
Цитата(DYUMON @  25.7.2007,  18:22 Найти цитируемый пост)
пишет что такое не возможно

правильно пишет. что такое многопоточность знаем? - если нет, то лучше на время забыть о Id*Server.

читать здесь: http://forum.vingrad.ru/forum/topic-60076/view-all.html

Автор: DYUMON 25.7.2007, 23:21
ну дак там откуда я это спечатывал работало журнал Хакер №50

Автор: dumb 26.7.2007, 00:03
вообще, работать должно, но через раз. код же ж писал хакер.

вернемся к... твоему вопросу.
Цитата(DYUMON @  25.7.2007,  18:22 Найти цитируемый пост)
пишет что такое не возможно

что конкретно пишет? в какой момент? правила форума читал?

Автор: DYUMON 27.7.2007, 08:39
пишет на эту строчку
Код

 form1.lbAddConnect.Items.Add(AThread.Connection.binding.PeerIP);

что
что[Error] Unit1.pas(67): Undeclared identifier: 'binding' 

может они в своём журнале коряво написали
вооющее данная строчка должна определять ip подключившегося может это как то по другому делается???????? 

Автор: DYUMON 27.7.2007, 08:57
я тут поконструировал а такая строчка будет работать
  
Код

 form1.lbAddConnect.Items.Add(AThread.Connection.Socket.Binding.PeerIP);

Автор: dumb 27.7.2007, 15:42
компилироваться будет. работать тоже, но, как я уже говорил, будет периодически "падать".

Автор: DYUMON 31.7.2007, 19:14
А если антифриз добавить?

Автор: 0LineGate 1.8.2007, 02:55
антифриз? smile 

Автор: dumb 1.8.2007, 09:26
Цитата(0LineGate @  1.8.2007,  02:55 Найти цитируемый пост)
антифриз?

да, это часто бывает необходимо в жизни программера - выпить литрашку-другую антифриза, чтобы мыслительный процесс не "замерзал"... smile

на самом деле, речь о компоненте TIdAntiFreeze, который периодически вызывает обработку сообщений во время блокирующих вызовов приема-получения данных другими компонентами из состава Indy.

DYUMON, антифриз тут не причем - для каждого входящего соединения серверные Indy-компоненты создают отдельный поток, в контексте которого и вызываются все события. таким образом ты производишь обращение к визуальным компонентам из рабочего потока, что делать, мягко говоря, нельзя. подробнее - в статье, ссылку на которую я уже здесь приводил.

Автор: DYUMON 2.8.2007, 01:44
Да читал я про потоки. Я эту прогу испытывал. Она работает без сбоев воттолько почемуто регистрирует по 4 подключение. Это что так браузер обращается к странице по 4 раза?

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