есть сервер.
как заставить accept() реагировать только на соединения от локалхоста (или от конкретного адреса)?
On Mon, 26 Dec 2005 13:12:34 -0000, Kowak <17841@users.rsdn.ru> wrote:
> есть сервер.
> как заставить accept() реагировать только на соединения от локалхоста
забайндить сокет только на локальный интерфейс.
> (или от конкретного адреса)?
Переносимый способ: принимать все соединения и фильтровать по полученному из accept адресу клиента. Слыхал, что в виндозе можно установить фильтр.
--
Maxim YegorushkinPosted via RSDN NNTP Server 2.0
Kowak wrote:
>
> есть сервер.
> как заставить accept() реагировать только на соединения от локалхоста
> (или от конкретного адреса)?
Только от локалхоста — забиндить сокет перед listen()'ом на 127.1
От конкретного адреса — никак. Только самому проверять адрес клиента
(getpeername()) и ручками закрывать соединение от нежелательных клиентов
(ставим SO_LINGER по нулям и говорим close() — клиент получает TCP reset).
Posted via RSDN NNTP Server 2.0
Здравствуйте, MaximE, Вы писали:
ME>Переносимый способ: принимать все соединения и фильтровать по полученному из accept адресу клиента. Слыхал, что в виндозе можно установить фильтр.
В Windows можно использовать
WSAAccept и ConditionFunc.
В UNIX'ах, я знаю несколько способов чтобы сделать это, но они не так это делают.. Хотя если сделать свой accept_filter..