Использование INDY серверов

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Использование INDY серверов

Сообщение anzo » 09.09.2010 10:10:54

Когда я создаю в INDY сервер, например TIDhttpServer, я заполняю коллекцию Bindings.

SocketHandle:=HTTPServer.Bindings.Add;
SocketHandle.IPVersion:=Id_IPv4;
SocketHandle.IP:='0.0.0.0';
SocketHandle.Port:=8090;

Что означает SocketHandle.IP? Это некая маска или что? Какие значения и как можно сюда записывать?
Если я ввожу 0.0.0.0 он принимает соединения со всех IP адресов.
Если я ввожу 127.0.0.1 клиент соединяется только с локального рабочего места.

Если я ввожу другой IP сети, то выдается ошибка.
Could not bind socket. Address and port are already in use.

Как указать серверу принимать соединения только с одной удаленной конкретной машины?
anzo
новенький
 
Сообщения: 28
Зарегистрирован: 09.07.2009 10:53:46

Re: Использование INDY серверов

Сообщение Timid » 09.09.2010 12:05:57

Это адрес вашего компьютера. Можно записать один из Ваших (присвоенных в сети машине), тогда сервер будет реагировать только на пакеты для данного адреса. Например, если Вашему компьютеру назначены 192.168.0.1 (локальная сеть) и 80.90.200.4 (от провайдера интернет), то введя первый, вы станете получать пакеты только из локалки, и наоборот

Дать указание принимать пакеты от одном машины можно в событии подтверждения соединения, кажется, onClientConnect. Именно там нужно проверить адрес входящего соединения, и "убить" его.
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: Использование INDY серверов

Сообщение anzo » 09.09.2010 12:26:01

Т.Е. в binding указывается IP сетевого интерфейса. Ясно.
anzo
новенький
 
Сообщения: 28
Зарегистрирован: 09.07.2009 10:53:46

Re: Использование INDY серверов

Сообщение Mr.Smart » 09.09.2010 12:30:34

Если точнее то в binding указывается интерфейс который будет прослушиваться.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

Рейтинг@Mail.ru