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

Вниз

Indy предварительная проверка на разрешенные IP для подключения   Найти похожие ветки 

 
Kacnep ©   (2006-07-24 08:42) [0]

Доброе время суток! Уважаемые мастера!
Кто сам занимался или точно знает ответ просьба пособить.
Инди 10, Дельфи 6. Вопросы по IdCmdTCPServer но в принципе для любого ИНДИ сервера...
1. Вопрос.
Для чего в инди Bindings?
Смотрел кучу примеров с его использование но не разобрался.
Может кто нить что нить пояснить по этому поводу.
Есть книга Инди в глубину :). Примеры - но не понятно. Все примеры используют ЭТО.
2. Вопрос.
Как прежде чем принть подключение сервером - определить если IP не в списке разрешенных - то даже и не разрешать подключаться ему?
Я сейчас делаю так...
procedure Tf_Main.id_SrvConnect(AContext: TIdContext);
begin
 AddLog(AContext.Connection.Socket.Binding.PeerIP+" Connected!",LogF);
 if (lb_IPs.Count=0) or (lb_IPs.Items.IndexOf(AContext.Connection.Socket.Binding.PeerIP)<0) then begin
   AContext.Connection.Disconnect;
   AddLog(AContext.Connection.Socket.Binding.PeerIP+" kicked!",LogF);
 end;
end;

В этом коде мне не нравиться то что подключение вроде бы уже состоялось :(
Или я что то не правильно понял?
Заранее Спасибо всем откликнувшимся!


 
Сергей М. ©   (2006-07-24 09:01) [1]


> Kacnep ©   (24.07.06 08:42)


> Для чего в инди Bindings?


Для привязки гнезда к нескольким сетевым интерфейсам одновременно.


> Как прежде чем принть подключение сервером - определить
> если IP не в списке разрешенных - то даже и не разрешать
> подключаться ему?


Никак. Инди не реализует такую возможность по ряду важных причин.


 
Kacnep ©   (2006-07-24 09:57) [2]

Еще раз спасибо за ответ.
По поводу первого...
Т.е. если я не использую несколько сетвых и не предусматриваю эту возможность в своей программе то мне (если брать кодинг из примеров) нужно везде поубирать все что относиться к БИНДИНГу?

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


 
Сергей М. ©   (2006-07-24 10:05) [3]


> нужно везде поубирать все что относиться к БИНДИНГу?


Так все-таки к Bindings или к Binding ? Это же разные же свойства разных объектов ..


> По поводу второго...
> Т.е. код примера приведенного мной - верен?


Верен, но он не решает задачу в оригинальной ее постановке - не допустить коннект с конкретным IP клиента.


 
Kacnep ©   (2006-07-24 10:49) [4]

1.
Вот код из примера запуска сервера
 id_Srv.Bindings.Clear; // bindings cannot be cleared until TidTCPServer is inactive
 try
   for i := 0 to lbIPs.Count-1 do
     if lbIPs.Checked[i] then begin
       Binding:=IdTCPServer.Bindings.Add;
       Binding.IP:=lbIPs.Items.Strings[i];
       Binding.Port:=StrToInt(edtPort.Text);
       SL.append("Server bound to IP " + Binding.IP + " on port " + edtPort.Text);
     end;


Что бы это значило?

2. А что тогда означает Bindings и Binding?

3. Каким образом можно решить задачу в оригинаолной постановке? Идеи?
Хотелось бы чтобы именно для неразрешенных ИП даже события коннект не наступало.

Спасибо.


 
Сергей М. ©   (2006-07-24 11:13) [5]


> Что бы это значило?


Это добавление сетевых интерфейсов, которые серверное гнездо будет обслуживать.


> что тогда означает Bindings и Binding?


Св-во Binding отражает св-ва конкретно установленного коннекта по конкретному сетевому интерфейсу.

Св-во Bindings отражает список всех сетевых интерфейсов, которые сервер будет использовать после активации.


> Каким образом можно решить задачу в оригинаолной постановке?
>  Идеи?


Отказаться от Инди в пользу любого иного аналогичного по назначению ПО, использующего механизм условного акцептирования запросов на соединение.

см. WSAAccept()


 
Kacnep ©   (2006-07-24 11:21) [6]

Спасибо Большое за ответы!
Тема закрыта.



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
2-1163761176
WhiteBarin
2006-11-17 13:59
2006.12.10
Выключение или перезагрузка компа через ExitWindowsEx?


15-1163946111
tesseract
2006-11-19 17:21
2006.12.10
Кредитка, нормальная


3-1159880145
kaif
2006-10-03 16:55
2006.12.10
Высвечиваются названия компонентов в DBEdit-ах :(


15-1163771975
Labamba
2006-11-17 16:59
2006.12.10
PIN to PIN messages


8-1136672981
Гость_
2006-01-08 01:29
2006.12.10
Поворот изображения